Use StringBuilder Instead of String for Concatenating

Posted at : Feb/16/2007
2976 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
epfo
Input code above below (Case Sensitive) :

ABOUT ME

Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Founder & IT Trainer Native Enterprise | MCT (2008-2019) | MVP (2009-2016) | Xamarin Certified Professional | MTA | MCAD | MCPD | MOS | Bandung, West Java, Indonesia.

[Read More...]

TOP DOWNLOAD

Mapping Hak Akses User Pada MenuStrip Sampai Control Button
downloaded 6982 times

Bagaimana caranya menginstal database ketika deploying sebuah aplikasi?
downloaded 4893 times

Simple Voice Engine Application With Sound Player Class...
downloaded 4045 times

Change Group,Sort Order, Filtering By Date in Crystal Reports
downloaded 3460 times

WinForms DataGrid Paging With SqlDataAdapter
downloaded 2881 times


LINKS

CERTIFICATIONS

Xamarin Certified
MOS 2007
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench

NATIVE ENTERPRISE

Native Enterprise - IT Training

FOLLOW ME

Youtube  Facebook  Instagram  LinkedIn   Twitter

RSS


NATIVE ENTERPRISE NEWS

© Copyright 2006 - 2024   Rully Yulian MF   All rights reserved.