Näin vanhalta murottajalta, uudella iotech tunnuksella postausta.
Ajattelin jakaa open source tuotokseni(GPL-3.0) täällä, voisi poikia testidataa muillakin kuin vain omilla ja vaimon laitteilla?
Tässä vuoden päivät työn alla ollut
microbenchmark CLI-työkalu Apple Silicon laitteille. Ajatus low level tekemisestä on kytenyt vuosia ja pitihän sitä lopulta lähteä tekemään, paljon oppinut vuoden aikana Apple Silicon laitteista ja sen rajoituksista(vaikka asm:lla, niin apple ei silti salli user-spacessa kaikkea).
- täysin skriptavissa
- saa JSON-raportin ulos -> vaikka Pythonille
- mittaa read/write/copy/patterns muistin todellista nopeutta. Esim omalla Mac Mini M4 olen päässyt 116,3GB/s READ(P50), kun teoreetinen max 120GB/s. STREAM C++ testit jäävät usein sinne 100GB/s tienoille.
- mittaa muistin latenssia(pointer chase) monin eri tavoin halutessa, L1/L2/DRAM, DRAM TLB hit, TLB miss, Page walk penalty.
- paljon argumentteja millä vaihtaa Stride, TLB locality kokoa jne.
- core to core ping pong
- Tuottaa min/max/average/P50/P90P95/P99/stddev, kun ajaa -count parametria käyttäen useampia testejä peräkkäin.
Ei ole graafinen "jokaisen" benchmark työkalu, vaan tällä voi tutustua lähemmin Apple Silicon maailmaan.
Paljon tuohon on vapaa-ajan tunteja uponnut ja milloin sitten valmis on, en tiedä. Tuottaa kuitenkin jo tällä hetkellä varsin tasaista ja toistettavaa mittadataa(tässä kiitos asm).
Tässä JSONeista -> Python,
Macbook Air M5 (huima DRAM TLB-hit parannus vs Mac Mini M4)
Mac Mini M4