Use StringBuilder Instead of String for Concatenating

VB - .NET Framework , Posted at : Feb/16/2007  
1450 Views   0 Comments

Seringkali kita menggunakan objek string untuk melakukan concatenasi string. Secara background proses setiap kita assign (concat) nilai baru ke variable string tersebut maka objek baru dibuat dan objek sebelumnya di destruct sehingga dikenal istilah 'immutable'. Hal tersebut akan menimbulkan issue performansi apabila concatenasinya banyak sekali. .Net framework menyediakan objek StringBuilder. Objek tersebut sifatnya 'mutable' artinya ketika melakukan concatenasi string maka objek stringbuilder tsb di 'mute' atau di 'append', jadi objek baru tidak dibuat setiap melakukan concatenasi. Proses tersebut akan menaikkan waktu performansi. Dibawah ini diberikan contoh penggunaan kedua objek string dan stringbuilder ketika melakukan concatenasi, dan diberikan perbandingan waktu proses antara kedua objek tersebut :

   1:  Module Module1
   2:      Sub Main()
   3:          Dim dtAwal, dtAkhir As DateTime
   4:          Dim tsDiff As TimeSpan
   5:   
   6:          Dim strDiffTime, strConcat, strMessage As String
   7:          Dim sbConcat As New System.Text.StringBuilder
   8:   
   9:          dtAwal = Now
  10:          For i As Integer = 1 To 10000
  11:              strConcat &= i.ToString
  12:          Next
  13:          dtAkhir = Now
  14:          tsDiff = dtAkhir.Subtract(dtAwal)
  15:          strDiffTime = tsDiff.TotalMilliseconds
  16:   
  17:          strMessage = String.Format("String Time is : {0} ms.", _
  18:          strDiffTime)
  19:          MsgBox(strMessage)
  20:   
  21:          dtAwal = Now
  22:          For i As Integer = 1 To 10000
  23:              sbConcat.Append(i.ToString)
  24:          Next
  25:          dtAkhir = Now
  26:          tsDiff = dtAkhir.Subtract(dtAwal)
  27:          strDiffTime = tsDiff.TotalMilliseconds
  28:   
  29:          strMessage = String.Format( _
  30:          "StringBuilder Time is : {0} ms.", strDiffTime)
  31:          MsgBox(strMessage)
  32:      End Sub
  33:  End Module

[Comments]

[Write your comment]
Name (required)
Email (required-will not published)
 
Comment

ZMQN
Input code above below (Case Sensitive) :
About Me 
Rully Yulian MF
My Name is Rully Yulian Muhammad Firmansyah. I am an IT Trainer, IT Consultant and Application Developer spesializing in Microsoft .NET technology and SQL Server database. I live in Bandung, Indonesia. My hobby is to play Guitar. [Read More...]
Top Download 
Bagaimana caranya menginstal database ketika deploying sebuah aplikasi? : Downloaded 3175 times  
Change Group,Sort Order, Filtering By Date in Crystal Reports : Downloaded 2592 times  
Mapping Hak Akses User Pada MenuStrip Sampai Control Button : Downloaded 2180 times  
Simple Voice Engine Application With Sound Player Class... : Downloaded 2127 times  
WinForms DataGrid Paging With SqlDataAdapter : Downloaded 1806 times  
Article Category 
Links 
Award 
Certifications 
MOS 2007
MCAS
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench
Native Enterprise 
Follow Me 
Facebook   LinkedIn   Twitter
Syndication 
Hosted By 
Native Enterprise News