Šis ir rīks divu programmu izpildes laika noteikšanai. Būtībā tas ļauj salīdzināt divu lietojumprogrammu izpildes laiku. Lietderības autors bija students no Vācijas Johanness Behbergers, kurš to izstrādāja sava bakalaura darba ietvaros 2016. gadā. Šodienas rīks izplata licencēts saskaņā ar GNU vispārējo publisko licenci.
Johanness vēlējās izveidot rīku, kas ļautu viņam izmērīt skaitļošanas sistēmas veiktspēju kontrolētā vidē. Tāpēc viena no galvenajām temci iezīmēm ir iespēja iestatīt testa vidi. Piemēram, viens var: mainiet CPU frekvences pārvaldnieka iestatījumus, atspējojiet hipervītņošana un L1 un L2 kešatmiņas, izslēdziet turbo režīmu Intel procesoros utt. Salīdzinošajai novērtēšanai temci izmanto rīkus laiks, perf_stat и pārņemšana.
Lūk, kā utilīta izskatās pirmajā gadījumā:
# compare the run times of two programs, running them each 20 times
> temci short exec "sleep 0.1" "sleep 0.2" --runs 20
Benchmark 20 times [####################################] 100%
Report for single runs
sleep 0.1 ( 20 single benchmarks)
avg_mem_usage mean = 0.000, deviation = 0.0
avg_res_set mean = 0.000, deviation = 0.0
etime mean = 100.00000m, deviation = 0.00000%
max_res_set mean = 2.1800k, deviation = 3.86455%
stime mean = 0.000, deviation = 0.0
utime mean = 0.000, deviation = 0.0
sleep 0.2 ( 20 single benchmarks)
avg_mem_usage mean = 0.000, deviation = 0.0
avg_res_set mean = 0.000, deviation = 0.0
etime mean = 200.00000m, deviation = 0.00000%
max_res_set mean = 2.1968k, deviation = 3.82530%
stime mean = 0.000, deviation = 0.0
utime mean = 0.000, deviation = 0.0
Pamatojoties uz salīdzinošās novērtēšanas rezultātiem, sistēma ģenerē ērts ziņojums ar diagrammām, tabulām un grafikiem, kas atšķir temci no līdzīgiem risinājumiem.
Starp temci trūkumiem izceļas tā “jaunība”. Šī iemesla dēļ viņš ne viss tiek atbalstīts aparatūras un programmatūras konfigurācijas. Piemēram, to ir grūti palaist operētājsistēmā macOS, un dažas funkcijas nav pieejamas sistēmā, kuras pamatā ir ARM. Nākotnē situācija var mainīties, jo autors aktīvi attīsta projektu, un GitHub zvaigžņu skaits pamazām palielinās - ne tik sen temci pat apspriests komentāros vietnē Hacker News.
Lietderība zema līmeņa CPU funkciju veiktspējas novērtēšanai, ko izstrādājis inženieris Treviss Dauns (Treviss Dauns). Nesen viņš raksta emuārus Izrāde ir svarīga vietnē GitHub Pages, kurā ir runāts par salīdzinošās novērtēšanas rīkiem un citām saistītām lietām. Kopumā uarch-bench tikai sāk iegūt popularitāti, bet tas jau ir diezgan izplatīts minēts Hacker News iedzīvotāji tematiskajos pavedienos kā salīdzinošās novērtēšanas rīks.
Uarch-bench ļauj novērtēt atmiņas veiktspēju, paralēlās datu ielādes ātrumu un tīrīšanas darbus YMM reģistri. Kā izskatās programmas ģenerētie salīdzinošās novērtēšanas rezultāti, var uzzināt oficiālajā repozitorijā lapas apakšā.
Ir vērts atzīmēt, ka uarch-sols, tāpat kā temci, atspējo Intel Turbo Boost funkcija (tā automātiski palielina procesora takts ātrumu zem slodzes), lai testa rezultāti būtu konsekventi.
Pagaidām projekts ir izstrādes sākuma stadijā, tāpēc uarch-bench nav detalizētas dokumentācijas, un tā darbībā var būt kļūdas - piemēram, grūtības ir zināmas ar palaišanu vietnē Ryzen. Turklāt tiek atbalstīti tikai x86 arhitektūru etaloni. Autors sola nākotnē pievienot vairāk funkcionalitātes un aicina pievienoties izstrādei.
Šis ir rīku komplekts Linux iekārtu veiktspējas novērtēšanai ar Intel, AMD un ARMv8 procesoriem. Tas tika izveidots Vācijas Federālās Izglītības un pētniecības ministrijas aizgādībā 2017. gadā un tika izlaists atklātā pirmkoda versijā.
No likwid rīkiem var izcelt likwid-powermeter, kas parāda informāciju no RAPL reģistriem par sistēmas patērēto jaudu, kā arī likwid-setFrequencies, kas ļauj kontrolēt procesora frekvenci. Jūs varat redzēt pilnu sarakstu atrast repozitorijā.
Šo rīku izmanto HPC izpētē iesaistītie inženieri. Piemēram, ar likwid darbojas speciālistu grupa no Erlangenas-Nirnbergas Universitātes Reģionālā skaitļošanas centra (RRZE) Vācijā. Viņa arī aktīvi piedalās šī rīku komplekta izstrādē.
Šis rīks Linux serveru veiktspējas analīzei ieviesa Brendans Gregs. Viņš ir viens no izstrādātājiem DTrace — dinamiska izsekošanas sistēma lietojumprogrammu atkļūdošanai reāllaikā.
perf-tools ir balstīta uz perf_events un ftrace kodola apakšsistēmām. To utilītas ļauj analizēt I/O latentumu (iosnoop), izsekot sistēmas izsaukuma argumentus (unccount, funcslower, funcgraph un functrace) un apkopot statistiku par “trāpījumiem” faila kešatmiņā (cachestat). Pēdējā gadījumā komanda izskatās šādi:
Ap instrumentu ir izveidojusies diezgan liela kopiena (gandrīz 6 tūkstoši zvaigžņu vietnē GitHub). Un ir uzņēmumi, kas aktīvi izmanto, piemēram, perf-instrumentus Netflix. Bet rīks tiek tālāk attīstīts un modificēts (lai gan pēdējā laikā atjauninājumi tiek izdoti diezgan reti). Tāpēc tā darbībā var rasties kļūdas – autors raksta, ka dažkārt perf-tools izraisa kodola paniku.
Lietderība, kas paredz, cik daudz skaitļošanas resursu mašīnkodam būs nepieciešams dažādos procesoros. Viņa novērtē Instrukcijas ciklā (IPC) un aparatūras slodzi, ko ģenerē konkrēta lietojumprogramma.
llvm-mca tika prezentēts 2018. gadā kā daļa no projekta LLVM, kas izstrādā universālu sistēmu programmu analīzei, pārveidošanai un optimizēšanai. Ir zināms, ka llvm-mca autorus iedvesmoja programmatūras veiktspējas analīzes risinājums IACA no Intel un centās radīt alternatīvu. Un, pēc lietotāju domām, rīka izvade (to izkārtojums un daudzums) patiešām atgādina IACA - piemērs var atrast šeit. Tomēr llvm-mca pieņem tikai AT&T sintakse, tāpēc, lai strādātu ar to, visticamāk, būs jāizmanto pārveidotāji.
Par ko mēs rakstām savos emuāros un sociālajos tīklos: