Ĉi tio estas ilo por taksi la ekzekuttempon de du programoj. Esence, ĝi permesas vin kompari la ekzekuttempon de du aplikoj. La verkinto de la utileco estis studento de Germanio, Johannes Bechberger, kiu evoluigis ĝin kiel parto de sia bakalaŭrotezo en 2016. La hodiaŭa ilo distribuita de licencita sub la Ĝenerala Publika Permesilo de GNU.
Johannes volis krei ilon kiu permesus al li mezuri la efikecon de komputika sistemo en kontrolita medio. Tial, unu el la ĉefaj trajtoj de temci estas la kapablo starigi testan medion. Ekzemple, povas: ŝanĝu la agordojn de la frekvenca administranto de CPU, malŝaltu hiper-fadenado kaj L1 kaj L2 kaŝmemoroj, malŝaltu turboreĝimon sur Intel-procesoroj, ktp. Por benchmarking temci uzas ilojn tempo, perf_stat и getrusage.
Jen kiel aspektas la utileco en la unua kazo:
# 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
Surbaze de la benchmarking rezultoj, la sistemo generas oportuna raporto kun diagramoj, tabeloj kaj grafikaĵoj, kiu distingas temci de similaj solvoj.
Inter la mankoj de temci elstaras ĝia "juneco". Pro tio li ne ĉio estas subtenata agordoj de aparataro kaj programaro. Ekzemple, estas malfacile funkcii per macOS, kaj iuj funkcioj ne disponeblas en ARM-bazita sistemo. En la estonteco, la situacio eble ŝanĝiĝos, ĉar la aŭtoro aktive disvolvas la projekton, kaj la nombro da steloj en GitHub iom post iom pliiĝas - antaŭ ne tiom longe temci eĉ diskutita en la komentoj en Hacker News.
Ilo por taksi la efikecon de malaltnivelaj CPU-funkcioj, evoluigita fare de inĝeniero Travis Downs (Travis Downs). Lastatempe li blogigis Efikeco Gravas en GitHub Paĝoj, kiu parolas pri benchmarking-iloj kaj aliaj rilataj aferoj. Ĝenerale, uarch-bench ĵus komencas akiri popularecon, sed ĝi jam estas sufiĉe ofta menciita loĝantoj de Hacker News en temaj fadenoj kiel irebla ilo por benchmarking.
Uarch-bench permesas taksi memoran rendimenton, paralelan datuman ŝarĝan rapidon kaj purigan laboron YMM-registroj. Kiel aspektas la benchmarking-rezultoj generitaj de la programo, troveblas en la oficiala deponejo ĉe la malsupro de la paĝo.
Indas noti, ke uark-benko, kiel temci, malkonektas Intel Turbo Boost-funkcio (ĝi aŭtomate pliigas la procesoran horloĝan rapidon sub ŝarĝo) por ke la testrezultoj estu konsekvencaj.
Nuntempe, la projekto estas en la fruaj stadioj de evoluo, do uarch-bench ne havas detalan dokumentadon, kaj ĝia funkciado povas enhavi cimojn - ekzemple, malfacilaĵoj estas konataj kun lanĉo sur Ryzen. Ankaŭ, nur komparnormoj por x86-arkitekturoj estas subtenataj. La aŭtoro promesas aldoni pli da funkcieco estonte kaj invitas vin aliĝi al la evoluo.
Ĉi tio estas aro da iloj por taksi la rendimenton de Linuksaj maŝinoj kun procesoroj Intel, AMD kaj ARMv8. Ĝi estis kreita sub la aŭspicioj de la Germana Federacia Ministerio pri Edukado kaj Esplorado en 2017 kaj liberigita en malferma fonto.
Inter la likwid-iloj, ni povas reliefigi likwid-powermeter, kiu montras informojn de RAPL-registroj pri la potenco konsumita de la sistemo, same kiel likwid-setFrequencies, kiu ebligas al vi kontroli la frekvencon de procesoro. Vi povas vidi la kompletan liston trovi en la deponejo.
La ilo estas uzata de inĝenieroj implikitaj en HPC-esplorado. Ekzemple, kun likwid laboras grupo de specialistoj de la Regiona Komputika Centro de la Universitato de Erlangen-Nürnberg (RRZE) en Germanio. Ŝi ankaŭ aktive partoprenas en la evoluo de ĉi tiu aro de iloj.
Ĉi tiu ilo por analizi la rendimenton de Linuksaj serviloj enkondukita Brendan Gregg. Li estas unu el la programistoj DTrace — dinamika spurkadro por sencimigi aplikojn en reala tempo.
perf-tools baziĝas sur la perf_events kaj ftrace-kernaj subsistemoj. Iliaj iloj permesas al vi analizi I/O-latentecon (iosnoop), spuri sistemajn alvokojn (unccount, funcslower, funcgraph kaj functrace) kaj kolekti statistikojn pri "trafoj" en la dosierkaŝmemoro (cachestat). En ĉi-lasta kazo, la komando aspektas jene:
Sufiĉe granda komunumo formiĝis ĉirkaŭ la instrumento (preskaŭ 6 mil steloj en GitHub). Kaj estas kompanioj kiuj aktive uzas perf-iloj, ekzemple Netflix. Sed la ilo estas plue evoluigita kaj modifita (kvankam ĝisdatigoj sufiĉe malofte estis publikigitaj lastatempe). Tial, eraroj povas okazi en ĝia funkciado - la aŭtoro skribas, ke foje perf-iloj kaŭzas kernan panikon.
Ilo kiu antaŭdiras kiom da komputikresursoj maŝinkodo postulos sur malsamaj CPUoj. Ŝi taksas Instrukcioj por Ciklo (IPC) kaj la ŝarĝo sur la aparataro kiun speciala aplikaĵo generas.
llvm-mca estis prezentita en 2018 kiel parto de la projekto LLVM, kiu disvolvas universalan sistemon por analizo, transformo kaj optimumigo de programoj. Oni scias, ke la aŭtoroj de llvm-mca estis inspiritaj de solvo por analizi programaran rendimenton IACA de Intel kaj serĉis krei alternativon. Kaj laŭ uzantoj, la eligo de la ilo (ilia aranĝo kaj kvanto) vere similas al IACA - ekzemplo troveblas ĉi tie. Tamen, llvm-mca nur akceptas AT&T sintakso, do vi plej verŝajne devos uzi konvertilojn por labori kun ĝi.
Pri kio ni skribas en niaj blogoj kaj sociaj retoj: