Folytatjuk a CPU teljesítményének értékelésére szolgáló eszközök bemutatását Linux gépeken. Ma a következőkről lesz szó: temci, uarch-bench, likwid, perf-tools és llvm-mca.
További benchmarkok:
Fotó — — Unsplash
Ez egy eszköz, amely lehetővé teszi két program futási időének értékelését. Lényegében lehetőséget ad arra, hogy összehasonlítsuk két alkalmazás végrehajtási idejét. Az eszközt egy német hallgató, Johannes Bechberger készítette, aki 2016-ban a főiskolai végzős munkája keretében fejlesztette ki. Ma az eszköz a GNU General Public License alatt áll.
Johannes olyan eszközt szeretett volna létrehozni, amely képes mérni a számítógépes rendszer teljesítményét ellenőrzött környezetben. Ezért a temci egyik fő jellemzője a tesztkörnyezet testreszabásának lehetősége. Például : módosíthatja a CPU frekvenciakezelő beállításait, letilthatja a és az L1 és L2 cache-eket, valamint kikapcsolhatja az Intel processzorok turbo módját, és így tovább. A temci a benchmarkoláshoz a következő eszközöket használja: , és .
Így néz ki a segédprogram működése az első esetben:
# 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
A benchmarkolás eredményei alapján a rendszer készít diagramokkal, táblázatokkal és grafikonokkal, ami megkülönbözteti a temcit a hasonló megoldásoktól.
A temci hátrányai közé tartozik a "fiatal kora". Emiatt hardveres és szoftveres konfigurációt. Például nehéz futtatni macOS-en, és ARM processzorral rendelkező rendszereken bizonyos funkciók nem elérhetők. A helyzet a jövőben változhat, mivel a szerző aktívan fejleszti a projektet, és a GitHub-on a csillagok száma fokozatosan növekszik – nemrég a temci-t még a is megvitatják.
Egy eszköz a CPU alacsony szintű funkcióinak teljesítményének értékelésére, amelyet Travis Downs mérnök fejlesztett ki (). Nemrégiben elkezdte írni a blogját a GitHub Pages-en, ahol benchmarkolásról és más kapcsolódó dolgokról beszél. Összességében az uarch-bench eddig csak most kezd népszerűvé válni, de már elég gyakran a Hacker News lakói emlegetik a tematikus beszélgetésekben mint go-to eszközt a benchmarkoláshoz.
Az Uarch-bench lehetővé teszi a memória teljesítményének, a párhuzamos adatbetöltés sebességének és a A program's benchmarking results can be found at the bottom of the page.
It is worth noting that uarch-bench, like temci, the Intel Turbo Boost feature (which automatically increases the processor's clock frequency under load) to ensure consistent testing results.
Currently, the project is in the early stages of development, so uarch-bench lacks detailed documentation, and there may be bugs in its operation — for example, with running on Ryzen. Only benchmarks for x86 architectures are supported. The author promises to add more functionality in the future and invites contributions to the development.
This is a set of tools for evaluating the performance of Linux machines with Intel, AMD, and ARMv8 processors. It was created under the auspices of the Federal Ministry of Education and Research of Germany in 2017 and released as open source.
Among the tools in likwid, one can highlight likwid-powermeter, which outputs information from RAPL registers about the power consumed by the system, as well as likwid-setFrequencies — which allows controlling the processor frequency. You can find the complete list .
The tool is used by engineers involved in HPC research. For instance, with likwid a group of specialists from the Regional Computing Center of the University of Erlangen-Nuremberg (RRZE) in Germany. They are also actively involved in the development of this toolset.

Fotó — — Unsplash
This tool is for analyzing the performance of Linux servers Brendan Gregg. He is one of the developers of the dynamic tracing framework for real-time application debugging.
At the core of perf-tools are the perf_events and ftrace kernel subsystems. Their utilities allow analyzing input/output (iosnoop) latency, tracking arguments for system calls (unccount, funcslower, funcgraph, and functrace), and collecting statistics on file cache 'hits' (cachestat). In the latter case, the command looks like this:
# ./cachestat -t
Counting cache functions... Output every 1 seconds.
TIME HITS MISSES DIRTIES RATIO BUFFERS_MB CACHE_MB
08:28:57 415 0 0 100.0% 1 191
08:28:58 411 0 0 100.0% 1 191
08:28:59 362 97 0 78.9% 0 8
08:29:00 411 0 0 100.0% 0 9
A fairly extensive community has formed around the tool (). And there are companies that actively use perf-tools, for example . Az eszköz azonban folyamatosan fejlődik és módosul (bár az utóbbi időben a frissítések meglehetősen ritkán jelennek meg). Ezért működésében hibák léphetnek fel — a szerző azt írja, hogy néha a perf-tools kernel pánikot okoz.
Egy olyan segédprogram, amely előrejelzi, hogy mennyi számítási erőforrást igényel a gépi kód különböző CPU-kon. Ez Ut Instruction Per Cycle () és az adott alkalmazás által generált hardverterhelést jelzi.
Az llvm-mca-t 2018-ban mutatták be a projekt keretein belül, amely egy univerzális elemző, transzformáló és optimalizáló rendszer fejlesztésével foglalkozik. Ismert, hogy az llvm-mca szerzőit az Intel softver teljesítményelemző megoldása, ihlette, és arra törekedtek, hogy alternatívát hozzanak létre. A felhasználók szerint az eszköz kimeneti adatai (formátuma és mennyisége) valóban emlékeztetnek az IACA-ra — például . Azonban az llvm-mca csak -t fogad el, így valószínűleg konvertálókat kell használni a működéséhez.
Miről írunk blogjainkban és közösségi médiánkban:
![]()
![]()
![]()
![]()
![]()
Mi a 1cloud.ru-nál ingyenes "" szolgáltatást kínálunk. A DNS-bejegyzéseket egyetlen felhasználói fiókon keresztül kezelhetjük.
Forrás: habr.com
