Use StringBuilder Instead of String for Concatenating

Posted at : Feb/16/2007
3034 Views

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

ABOUT ME

Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Co-Founder & IT Trainer at Native Enterprise | Microsoft Azure Data Scientist | IBM RAG & Agentic AI | IBM Data Science & Data Analyst | Python Certified (PCEP, PCAP) | MOS, MTA, Xamarin Certified, ex MCT | ex MVP

CERTIFICATIONS

Microsoft Certified Associate
IBM RAG and Agentic AI Professional
IBM Data Science Professional IBM Data Analyst Professional
PCAP Associate Python Programmer Certified PCEP Entry Level Python Programmer Certified
Xamarin Certified
MOS 2007
MCPD MCTS
MCAD.NET

NATIVE ENTERPRISE

Native Enterprise - IT Training

FOLLOW ME

Youtube  X Twitter Facebook  Instagram  LinkedIn

RSS


NATIVE ENTERPRISE NEWS

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