Ovo je alat za procjenu vremena izvršavanja dva programa. U biti, omogućuje vam usporedbu vremena izvršavanja dviju aplikacija. Autor pomoćnog programa bio je student iz Njemačke, Johannes Bechberger, koji ga je razvio u sklopu svog dodiplomskog rada 2016. godine. Današnji alat distribuira licenciran pod GNU Općom javnom licencom.
Johannes je želio stvoriti alat koji bi mu omogućio mjerenje performansi računalnog sustava u kontroliranom okruženju. Stoga je jedna od glavnih značajki temcija mogućnost postavljanja testnog okruženja. Na primjer, može se: promijenite postavke upravitelja frekvencije procesora, onemogućite hiper-threading i L1 i L2 predmemorije, isključite turbo način rada na Intelovim procesorima, itd. Za benchmarking temci koristi alate vrijeme, perf_stat и getrusage.
Ovako uslužni program izgleda u prvom slučaju:
# 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
Na temelju rezultata benchmarkinga sustav generira zgodan izvještaj s dijagramima, tablicama i grafikonima, što razlikuje temci od sličnih rješenja.
Među nedostacima temcija ističe se njegova "mladost". Zbog ovoga on nije sve podržano hardverske i softverske konfiguracije. Na primjer, teško ga je pokrenuti na macOS-u, a neke značajke nisu dostupne na sustavu temeljenom na ARM-u. U budućnosti bi se situacija mogla promijeniti, budući da autor aktivno razvija projekt, a broj zvijezda na GitHubu postupno raste - ne tako davno čak i temci raspravljali u komentarima na Hacker News.
Uslužni program za procjenu performansi CPU funkcija niske razine, koji je razvio inženjer Travis Downs (Travis Downs). Odnedavno piše blog Izvedba važna na GitHub stranicama, koji govori o alatima za benchmarking i drugim srodnim stvarima. Općenito, uarch-klupa tek počinje dobivati popularnost, ali već je prilično uobičajena spominje stanovnici Hacker Newsa u tematskim temama kao alat za benchmarking.
Uarch-bench omogućuje procjenu performansi memorije, brzine paralelnog učitavanja podataka i čišćenja YMM registri. Možete pronaći kako izgledaju rezultati benchmarkinga koje je generirao program u službenom repozitoriju na dnu stranice.
Vrijedno je napomenuti da uarch-klupa, poput temci, onemogućuje Funkcija Intel Turbo Boost (automatski povećava radni takt procesora pod opterećenjem) kako bi rezultati testa bili dosljedni.
Za sada je projekt u ranoj fazi razvoja, tako da uarch-bench nema detaljnu dokumentaciju, a njegov rad može sadržavati greške - npr. poteškoće su poznate s lansiranjem na Ryzenu. Također, podržana su samo mjerila za x86 arhitekture. Autor obećava da će u budućnosti dodati više funkcionalnosti i poziva vas da se pridružite razvoju.
Ovo je skup alata za procjenu performansi Linux strojeva s Intel, AMD i ARMv8 procesorima. Napravljen je pod pokroviteljstvom njemačkog Saveznog ministarstva obrazovanja i istraživanja 2017. godine i pušten u otvoreni kod.
Od likwid alata možemo istaknuti likwid-powermeter, koji prikazuje informacije iz RAPL registara o snazi koju sustav troši, kao i likwid-setFrequencies, koji vam omogućuje kontrolu frekvencije procesora. Možete vidjeti kompletan popis pronaći u spremištu.
Alat koriste inženjeri uključeni u HPC istraživanja. Na primjer, s likwidom djela skupina stručnjaka iz Regionalnog računalnog centra Sveučilišta Erlangen-Nürnberg (RRZE) u Njemačkoj. Ona također aktivno sudjeluje u razvoju ovog skupa alata.
Ovaj alat za analizu performansi Linux poslužitelja podnijeti Brendan Gregg. On je jedan od programera DTrace — okvir dinamičkog praćenja za otklanjanje pogrešaka u aplikacijama u stvarnom vremenu.
perf-tools temelji se na perf_events i ftrace kernel podsustavima. Njihovi uslužni programi omogućuju vam analizu I/O kašnjenja (iosnoop), praćenje argumenata poziva sustava (unccount, funcslower, funcgraph i functrace) i prikupljanje statistike o "pogocima" u predmemoriju datoteka (cachestat). U potonjem slučaju, naredba izgleda ovako:
Oko instrumenta se formirala prilično velika zajednica (gotovo 6 tisuća zvjezdica na GitHubu). A postoje tvrtke koje se aktivno koriste perf-alatima, na primjer Netflix. Ali alat se dalje razvija i modificira (iako se ažuriranja u posljednje vrijeme objavljuju prilično rijetko). Stoga se mogu pojaviti pogreške u njegovom radu - autor piše da ponekad perf-tools uzrokuje paniku kernela.
Uslužni program koji predviđa koliko će računalnih resursa zahtijevati strojni kod na različitim procesorima. Ona ocjenjuje Upute po ciklusu (MKP) i opterećenje hardvera koje generira određena aplikacija.
llvm-mca predstavljen je 2018. godine u sklopu projekta LLVM, koja razvija univerzalni sustav za analizu, transformaciju i optimizaciju programa. Poznato je da su autori llvm-mca bili inspirirani rješenjem za analizu performansi softvera IACA iz Intela i nastojao stvoriti alternativu. A prema korisnicima, izlaz alata (njihov izgled i količina) stvarno nalikuje IACA-i - primjer možete pronaći ovdje. Međutim, llvm-mca prihvaća samo AT&T sintaksa, tako da ćete najvjerojatnije morati koristiti pretvarače za rad s njim.
O čemu pišemo na našim blogovima i društvenim mrežama: