Use StringBuilder Instead of String for Concatenating

Created at : Feb/16/2007  
909 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)
URL (optional)
Example : http://www.yulianmf.com  
Comment

XETG
Input code above below (Case Sensitif) :
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 2231 times  
Change Group,Sort Order, Filtering By Date in Crystal Reports : Downloaded 2192 times  
Simple Voice Engine Application With Sound Player Class... : Downloaded 1523 times  
DataGridView Grouping : Downloaded 1243 times  
WinForms DataGrid Paging With SqlDataAdapter : Downloaded 1232 times  
Article Category 
Links 
Award 
Certifications 
MOS 2007
MCAS
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench
Native Enterprise - IT Training 
Native Enterprise Facebook Group 
My Facebook 
My LinkedIn 
Syndication (RSS 2.0) 
Powered By 
Native Enterprise News