📄 form1.vb
字号:
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Text
Imports System.Windows.Forms
Imports System.Diagnostics
Imports System.Threading
Imports System.Runtime.InteropServices
Namespace CodeForChapter5cs
Public Partial Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
' string vs stringbuilder
Private Sub menuItem1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles menuItem1.Click
GC.Collect()
Dim sw As Stopwatch = Stopwatch.StartNew()
PerfTests.UseString()
sw.Stop()
Dim mils1 As Long = sw.ElapsedMilliseconds
sw.Reset()
sw.Start()
PerfTests.UseStringBuilder()
sw.Stop()
Dim mils2 As Long = sw.ElapsedMilliseconds
MessageBox.Show(mils1.ToString() & " > " & mils2.ToString())
End Sub
#Region "measuring with tickcount and stopwatch"
Private Sub SomeMethodA()
Dim sw As Stopwatch = New Stopwatch()
sw.Start()
' some long running task
Thread.Sleep(2000)
sw.Stop()
Dim millis As Long = sw.ElapsedMilliseconds
MessageBox.Show(millis.ToString())
End Sub
Private Sub SomeMethodB()
Dim start As Integer = Environment.TickCount
' some long running task
Thread.Sleep(2000)
Dim [end] As Integer = Environment.TickCount
Dim millis As Integer = [end] - start
MessageBox.Show(millis.ToString())
End Sub
Private Sub menuItem4_Click(ByVal sender As Object, ByVal e As EventArgs) Handles menuItem4.Click
Me.SomeMethodB()
End Sub
Private Sub menuItem3_Click(ByVal sender As Object, ByVal e As EventArgs) Handles menuItem3.Click
Me.SomeMethodA()
End Sub
#End Region
' collections
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button1.Click
GC.Collect()
Dim sw As Stopwatch = Stopwatch.StartNew()
PerfTests.UseArray()
sw.Stop()
Dim mils1 As Long = sw.ElapsedMilliseconds
sw.Reset()
GC.Collect()
sw.Start()
PerfTests.UseGenerics()
sw.Stop()
Dim mils2 As Long = sw.ElapsedMilliseconds
sw.Reset()
GC.Collect()
sw.Start()
PerfTests.UseArrayList()
sw.Stop()
Dim mils3 As Long = sw.ElapsedMilliseconds
MessageBox.Show(mils1.ToString() & " > " & mils2.ToString() & " > " & mils3.ToString())
End Sub
' memory
Private Sub button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button2.Click
Memory.ShowMemory()
End Sub
' virtual calls
Private Sub button3_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button3.Click
Dim mc As [MyClass] = New [MyClass]()
mc.Test2()
mc.Test1()
End Sub
Private Sub button4_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button4.Click
GC.Collect()
GC.WaitForPendingFinalizers()
End Sub
End Class
End Namespace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -