May 29th, 2011

[Code] : String vs StringBuilder… The performance is different…

Imports System.Text

Module Module1

    Sub Main()
        Const _theString As String = "BEYTAnetwork"
        Dim _testNumber As Long = 10000
        Dim _startTime As DateTime
        Dim _stopTime As DateTime
        Dim _timeSpan As TimeSpan
        Dim _stringBuilder As New StringBuilder
        Dim _txt As String = ""

        _startTime = Now
        For i As Long = 1 To _testNumber
            _txt += _theString
        Next i
        _stopTime = Now
        _timeSpan = _stopTime.Subtract(_startTime)
        Console.WriteLine(_startTime)
        Console.WriteLine(_stopTime)
        Console.WriteLine(_timeSpan.TotalSeconds.ToString("0.000000"))

        _txt = ""
        _startTime = Now
        For i As Long = 1 To _testNumber
            _stringBuilder.Append(_theString)
        Next i
        _txt = _stringBuilder.ToString()
        _stopTime = Now
        _timeSpan = _stopTime.Subtract(_startTime)
        Console.WriteLine(_startTime)
        Console.WriteLine(_stopTime)
        Console.WriteLine(_timeSpan.TotalSeconds.ToString("0.000000"))
        Console.ReadLine()
    End Sub

End Module

Dengan mengadakan experiment sebanyak 10k looping… Result yang diterima seperti dibawah…

Perbezaan ini berlaku kerana di dalam konsep String, untuk setiap process looping yang berlaku diatas. String akan menggunakan satu space baru didalam memori untuk menyimpan nilai terkini. Perkara ini berbeza dengan StringBuilder.

 

creditedTo : Waran

Categories: Code Tags: , ,

ANTARA YANG MENARIK



Geek ASP #01 – Oracle .NET Data Provider


[code,prolog]: Word Frequency


[info] Channel BEYTA network di YouTube


[code] : 10000 convert into 1,0,0,0,0... Teknik kuno aku masih berguna!
.

Apa pendapat anda?

Follow BEYTA.net di Twitter


18 queries. 0.533 seconds.
© 2011 BEYTA.network | Coders Republic - Certified by Microsoft as Profesional Developer
Beyta | Tajuzzaman bin Tajol Molok. MCPD. MCTS.