VB.NET Speed Up and Tune Your Code With a Test Class
Listing 1. You can use this class to demonstrate a variety of optimization techniques. For example, the DoubleIt and DoubleIt2 methods perform the same operation. However, only the former method is overridable. A simple benchmark shows that a call to the overridable version runs about 35 percent slower than a call to the nonoverridable (or sealed) one. Other optimization tests provided here include a method to put the garbage collector under pressure. Class TestObject Implements ITestInterface Implements IDisposable ' an overridable function Overridable Function DoubleIt(ByVal n As Integer) _ As Integer Return n * 2 End Function ' a non-overridable function Function DoubleIt2(ByVal n As Integer) As Integer Return n * 2 End Function ' an interface method Sub TestMethod() Implements _ ITestInterface.TestMethod ' do nothing End Sub ' a method that returns an integer Function GetInteger(ByVal n As Integer) As Integer Return n End Function ' a method that boxes an int and returns an object Function GetObject(ByVal n As Integer) As Object Return n End Function Declare Function OpenClipboard Lib "user32" _ (ByVal hwnd As Integer) As Integer Declare Function CloseClipboard Lib "user32" _ () As Integer ' put the garbage collector under pressure Dim dummyArr(1000) As Byte Sub New() ' open the clipboard, associate with this task OpenClipboard(0) End Sub Public Sub Dispose() Implements IDisposable.Dispose CloseClipboard() GC.SuppressFinalize(Me) End Sub Protected Overrides Sub Finalize() CloseClipboard() MyBase.Finalize() End Sub Event TestEvent() End Class Interface ITestInterface Sub TestMethod() End Interface |