kenapa bisa beda begitu ya? padahal berjalan di mesin yang sama
>> bisa jadi, untuk awal kegiatan, akan ada banyak penyesuaian dan
inisialisasi didalam sana. saya ndak tahu persis apa saja yang terjadi.
Anggap saja sebuah pengkondisian.

mungkin bisa dijelaskan mr.. sekalian tanya gimana cara kok tau harus
memilih script ini:
private declare function QueryPerformanceCounter Lib "kernel32.dll" (ByRef
lpPerformanceCount As LARGE_INTEGER) As Long
>> hehehehe... kalo dijawab hafalan pasti ndak terima.
kira-kira gini :
1. waktu itu ada dua sisi, yaitu sisi makro dan sisi mikro.
Sisi makro adalah dari tahun sampai ketepatan 1 detik
Sisi mikro adalah antara 0 dan 1 detik.
Jadi, untuk menghitung waktu proses yang sangat cepat, perlu ketepatan yang
tinggi, yaitu di sisi mikro

2. rentang dari 0 sampai 1 detik itu bisa dipecah menjadi banyak, misal per
milidetik,mikro detik, atau nanodetik, dsb.

3. Biasanya, untuk sisi mikro ini akan dimulai dengan penggunaan timer
seperti :
dim dblTime as double
dbltime=timer
'proses
dbltime=timer-dbltime
debug.print "waktu proses : " & dbltime & " detik"
Coba lihat hasilnya, ada angka didepan koma (detik) dan dibelakang koma
(bisa sampai milidetik)
Yang perlu dipahami adalah lompatan dari satu tik waktu ke tik waktu
berikutnya tidaklah per 1 milidetik, melainkan bisa mencapai 55 milidetik

4. Yang lebih tinggi dari timer adalah GetTickCount, hanya saja kadang kala
lompatan tik ke tik nya bisa 55 milidetik juga walau biasanya 10 milidetik.
Fungsi ini adalah fungsi WinAPI dan silakan cari di internet tentang detil
duduk perkara si GetTickCount ini.

5. Yang lebih tinggi lagi dari GetTickCount adalah yang sampai pada sedekat
mungkin menghitung clock komputer.
Masih ingat bukan bahwa clock komputer seperti 2.3GHz artinya ada 2.3G tik
per detik.
Jadi, jika bisa mendapatkan nilai waktu dari satu tik ke tik berikutnya
yang sangat rapat, maka pastilah harus yang mendekati frekuensi clock
komputer tadi.
Fungsi QueryPerformanceCounter adalah yang paling mendekatinya, karena bisa
sampai mencatat 1.000.000.000 tik per detiknya.

5. Jadi, dengan bekal keinginan untuk tahu cara membaca tik komputer
setepat mungkin, maka akan bertemulah dengan fungsi QueryPerformanceCounter

6. Fungsi QueryPerformanceCounter punya teman namanya
QueryPerformanceFrequency
Karena ada Frequency nya, berarti yang dihitung bukan tik nya tapi
frekuensi per detik.
Jika diterapkan pada kasus tadi, maka yang didapat adalah nilai frekuensi
nya.
Nah kalau counternya 1000000000 tik per detik, maka kalau cara 1 diproses
sebanyak 1000 tik, maka frekuensinya 1000/1000000000
hehehe bakal ruwet bacanya kali ya....

kira-kira demikianlah...

Wassalam,
Kid.



2013/4/11 Jan Raisin <[email protected]>

> **
>
>
> tetap lebih cepat cara 2 mr. Kid
>
> tapi gini:
> cara 1 di atas hasilnya: cara 2 lebih cepat 8x
> cara 2 di atas hasilnya: cara 2 lebih cepat 4x
>
> kenapa bisa beda begitu ya? padahal berjalan di mesin yang sama
> os : Win7 Ultimate 32-bit
>  proc : corei5 2,3Ghz
> Ram : 2GB
> excel: 2K10
>
> mungkin bisa dijelaskan mr.. sekalian tanya gimana cara kok tau harus
> memilih script ini:
> private declare function QueryPerformanceCounter Lib "kernel32.dll" (ByRef
> lpPerformanceCount As LARGE_INTEGER) As Long
>
> Wassalam,
>
> -MJR-
>
>
>
> Pada 11 April 2013 11.35, Mr. Kid <[email protected]> menulis:
>
> **
>>
>>
>> eh... tapi,
>> (mumpung ada yang nyoba wakakaka)
>>
>> gimana kalau posisi dibalik,
>> cara 2 di atas dan cara 1 dibawah
>> hasilnya seperti apa ya
>>
>> ty
>>
>> Wassalam,
>> Kid
>>
>  
>

Kirim email ke