*belagak bisa ngejelasin

 

Gw coba di mesin windows gue hasilnya gini Rie:

 

10jt

            user     system      total        real

%      24.141000   1.000000  25.141000 ( 26.087000)

+      16.062000   0.141000  16.203000 ( 16.569000)

 

10ribu

            user     system      total        real

%       0.015000   0.000000   0.015000 (  0.016000)

+       0.016000   0.000000   0.016000 (  0.016000)

 

Menurut gue sih, karena kalau proses concate kan tidak memerlukan
temporary-memory, sementara kalau proses replace itu -kalau nggak salah-
butuh temporary-memory (dalam bentuk Array, dilihat dari C-source-nya).
Jadi proses '+' lebih cepet karena nggak ambil pusing, pokoknya tinggal
Str-A = Str-A + Str-B, kalau proses '%' harus alokasi memory dulu,
nentuin yg mana yg mau di replace/ada proses IF, copy dulu hasil
replacement-nya di variable/object baru/temporary, copy isi object
baru/temporary ke object asal..begitu seterusnya...sampai selesai.
Proses ini akan semakin kelihatan lebih lama pada saat alokasi
memory-nya butuh banyak, lebih" kalau memory management OS-nya jelek,
udah pasti blue-screen deh...(koq jadi windows-specific-problem ya?
hahaha)

 

 

Ini menurut gue lho....

 

* ngumpet dulu takut salah ngomong

 

------------------------------------------------------------------------
--------------------

Anybody can explain it clearer?
Ada yang bisa menjelaskan dg lebih gamblang?

user system total real
% 21.300000 1.920000 23.220000 ( 23.278688)
+ 12.750000 1.920000 14.670000 ( 14.683736)

Dugaan sementara ariekeren ya itu + cuma concat, sedang % bisa replace 
jadi memang kelebihannya itu juga dibayar dengan performa, karena 
sebetulnya sebelum tembak dengan sepuluh juta itu ariekeren pakai 
sepuluh ribu hasil benchmarknya gini (semua sampai totalnya sama, beda 
di realnya):

user system total real
% 0.020000 0.000000 0.020000 ( 0.024216)
+ 0.020000 0.000000 0.020000 ( 0.014881)





[Non-text portions of this message have been removed]

Kirim email ke