ื‘ืขื ื˜ืฉืžืึทืจืงืก ืคึฟืึทืจ ืœื™ื ื•ืงืก ืกืขืจื•ื•ืขืจืก: ืึท ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืขืคึฟืŸ ืžื›ืฉื™ืจื™ื

ืžื™ืจ ืคืึธืจื–ืขืฆืŸ ืฆื• ืจืขื“ืŸ ื•ื•ืขื’ืŸ ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืึทืกืกืขืกืกื™ื ื’ ืงืคึผื• ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื•ื™ืฃ ืœื™ื ื•ืงืก ืžืืฉื™ื ืขืŸ. ื”ื™ื™ื ื˜ ืื™ืŸ ื“ืขื ืžืื˜ืจื™ืืœ: ื˜ืขืžืกื™, ืื•ืจืš-ื‘ืื ืง, ืœื™ืงื•ื•ื™ื“, ืคืขืจืฃ-ืžื›ืฉื™ืจื™ื ืื•ืŸ ืœื‘ื-ืžืงื”.

ืžืขืจ ื‘ืขื ื˜ืฉืžืึทืจืงืก:

ื‘ืขื ื˜ืฉืžืึทืจืงืก ืคึฟืึทืจ ืœื™ื ื•ืงืก ืกืขืจื•ื•ืขืจืก: ืึท ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืขืคึฟืŸ ืžื›ืฉื™ืจื™ื
ืคืึธื˜ืึธ - Lukas Blazek โ€” ืึทื ืกืคึผืœืึทืฉ

temci

ื“ืึธืก ืื™ื– ืึท ื’ืขืฆื™ื™ึทื’ ืคึฟืึทืจ ืึธืคึผืฉืึทืฆืŸ ื“ื™ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืฆื™ื™ื˜ ืคื•ืŸ ืฆื•ื•ื™ื™ ืžื’ื™ืœื”. ื™ืกืขื ืฉืึทืœื™, ืขืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืคืึทืจื’ืœื™ื™ึทื›ืŸ ื“ื™ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืฆื™ื™ื˜ ืคื•ืŸ ืฆื•ื•ื™ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–. ื“ืขืจ ืžื—ื‘ืจ ืคึฟื•ืŸ ื“ืขืจ ื™ื•ื˜ื™ืœื™ื˜ื™ ืื™ื– ื’ืขื•ื•ืขืŸ ืึท ืชึผืœืžื™ื“ ืคึฟื•ืŸ ื“ืฒึทื˜ืฉืœืึทื ื“, Johannes Bechberger, ื•ื•ืขืœื›ืขืจ ื”ืึธื˜ ืขืก ืึทื ื˜ื•ื•ื™ืงืœื˜ ื•ื•ื™ ืึท ื˜ื™ื™ืœ ืคึฟื•ืŸ ื–ืฒึทืŸ ืึทื ื“ืขืจื’ืจืึทื“ื–ืฉืึทื•ื•ืึทื˜ ื˜ืขื–ื™ืก ืื™ืŸ 2016. ื”ื™ื™ื ื˜ื™ื’ืข ื’ืขืฆื™ื™ื’ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ื“ื•ืจืš ืœื™ื™ืกืึทื ืกื˜ ืื•ื ื˜ืขืจ ื“ื™ GNU ืึทืœื’ืขืžื™ื™ื ืข ืคึผื•ื‘ืœื™ืง ืœื™ืกืขื ืกืข.

ื“ื–ืฉืึธื”ืึทื ื ืขืก ื’ืขื•ื•ืืœื˜ ืฆื• ืฉืึทืคึฟืŸ ืึท ื’ืขืฆื™ื™ึทื’ ื•ื•ืึธืก ื•ื•ืึธืœื˜ ืœืึธื–ืŸ ืื™ื ืฆื• ืžืขืกื˜ืŸ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ืึท ืงืึทืžืคึผื™ื•ื˜ื™ื ื’ ืกื™ืกื˜ืขื ืื™ืŸ ืึท ืงืึทื ื˜ืจืึธื•ืœื“ ืกื•ื•ื™ื•ื•ืข. ื“ืขืจื™ื‘ืขืจ, ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืคื•ืŸ temci ืื™ื– ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืฉื˜ืขืœืŸ ืึท ืคึผืจืึธื‘ืข ืกื•ื•ื™ื•ื•ืข. ืœืžืฉืœ, ืื™ื™ื ืขืจ ืงืขื ืขืŸ: ื˜ื•ื™ืฉืŸ ืงืคึผื• ืึธืคื˜ืงื™ื™ึทื˜ ืคืึทืจื•ื•ืึทืœื˜ืขืจ ืกืขื˜ื˜ื™ื ื’ืก, ื“ื™ืกื™ื™ื‘ืึทืœ ื”ื™ืคึผืขืจ-ืคืึธื“ืขื ืื•ืŸ L1 ืื•ืŸ L2 ืงืึทื˜ืฉืขืก, ืงืขืจ ืึทื•ื•ืขืง ื˜ื•ืจื‘ืึธ ืžืึธื“ืข ืื•ื™ืฃ ื™ื ื˜ืขืœ ืคึผืจืึทืกืขืกืขืจื–, ืืื–"ื• ื•. ืคึฟืึทืจ ื‘ืขื ื˜ืฉืžืึทืจืงื™ื ื’ ื˜ืขืžืกื™ ื ื™ืฆื˜ ืžื›ืฉื™ืจื™ื ืฆื™ื™ึทื˜, perf_stat ะธ ื’ืขื˜ืจื•ืกืึทื’ืข.

ื“ืึธืก ืื™ื– ื•ื•ื™ ื“ื™ ื ื•ืฆืŸ ืงื•ืงื˜ ื•ื•ื™ ืื™ืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ืคืึทืœ:

# 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

ื‘ืึทื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ื‘ืขื ื˜ืฉืžืึทืจืงื™ื ื’ ืจืขื–ื•ืœื˜ืึทื˜ืŸ, ื“ื™ ืกื™ืกื˜ืขื ื“ื–ืฉืขื ืขืจื™ื™ืฅ ื‘ืึทืงื•ื•ืขื ื‘ืึทืจื™ื›ื˜ ืžื™ื˜ ื“ื™ื™ืึทื’ืจืึทืžื–, ื˜ื™ืฉืŸ ืื•ืŸ ื’ืจืึทืคืก, ื•ื•ืึธืก ื“ื™ืกื˜ื™ื ื’ื’ื•ื•ื™ืฉื™ื– ื˜ืขืžืกื™ ืคื•ืŸ ืขื ืœืขืš ืกืึทืœื•ืฉืึทื ื–.

ืฆื•ื•ื™ืฉืŸ ื“ื™ ืฉืึธืจื˜ืงืึธืžื™ื ื’ืก ืคื•ืŸ ื˜ืขืžืกื™, ื–ื™ื™ึทืŸ "ื™ื•ื’ื ื˜" ืฉื˜ื™ื™ื˜ ืื•ื™ืก. ืฆื•ืœื™ื‘ ื“ืขื ืขืจ ื ื™ื˜ ืึทืœืฅ ืื™ื– ื’ืขืฉื˜ื™ืฆื˜ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืื•ืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื–. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืขืก ืื™ื– ืฉื•ื•ืขืจ ืฆื• ืœื•ื™ืคืŸ ืื•ื™ืฃ macOS, ืื•ืŸ ืขื˜ืœืขื›ืข ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ื–ืขื ืขืŸ ื ื™ืฉื˜ ื‘ื ื™ืžืฆื ืื•ื™ืฃ ืึท ARM-ื‘ืื–ื™ืจื˜ ืกื™ืกื˜ืขื. ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜, ื“ื™ ืกื™ื˜ื•ืึทืฆื™ืข ืงืขืŸ ื˜ื•ื™ืฉืŸ, ื•ื•ื™ื™ึทืœ ื“ืขืจ ืžื—ื‘ืจ ืื™ื– ืึทืงื˜ื™ื•ื•ืœื™ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ื“ื™ ืคึผืจื•ื™ืขืงื˜, ืื•ืŸ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืฉื˜ืขืจืŸ ืื•ื™ืฃ ื’ื™ื˜ื”ื•ื‘ ืื™ื– ื‘ื™ืกืœืขื›ื•ื•ื™ื™ึทื– ื™ื ืงืจื™ืกื™ื ื’ - ื ื™ืฉื˜ ืึทื–ื•ื™ ืœืึทื ื’ ืฆื•ืจื™ืง ื“ื™ืกืงืึทืกื˜ ืื™ืŸ ื“ื™ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ ืื•ื™ืฃ ื”ืขืงืขืจ ื ื™ื™ึทืขืก.

ื•ืึทืจื˜ืฉ-ื‘ืึทื ืง

ื ื ื•ืฆืŸ ืคึฟืึทืจ ื™ื•ื•ืึทืœื™ื•ื™ื™ื˜ื™ื ื’ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ื ื™ื“ืขืจื™ืง-ืžื“ืจื’ื” ืงืคึผื• ืคืึทื ื’ืงืฉืึทื ื–, ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื“ื•ืจืš ื™ื ื–ืฉืขื ื™ืจ Travis Downs (ื˜ืจืึทื•ื•ื™ืก ื“ืึทื•ื ืก). ืœืขืฆื˜ื ืก ื”ืื˜ ืขืจ ื‘ืœืึธื’ื’ื™ื ื’ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืขื ื™ื ื™ื ืื•ื™ืฃ GitHub ื‘ืœืขื˜ืขืจ, ื•ื•ืึธืก ืจืขื“ื˜ ื•ื•ืขื’ืŸ ื‘ืขื ื˜ืฉืžืึทืจืงื™ื ื’ ืžื›ืฉื™ืจื™ื ืื•ืŸ ืื ื“ืขืจืข ืคึฟืึทืจื‘ื•ื ื“ืขื ืข ื˜ื™ื ื’ื–. ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ื•ืึทืจื˜ืฉ-ื‘ืขื ืง ืื™ื– ื ืึธืจ ืึธื ื”ื™ื™ื‘ ืฆื• ื’ืขื•ื•ื™ื ืขืŸ ืคึผืึธืคึผื•ืœืึทืจื™ื˜ืขื˜, ืึธื‘ืขืจ ืขืก ืื™ื– ืฉื•ื™ืŸ ื’ืึทื ืฅ ืคึผืจืึธืกื˜ ื“ืขืจืžืื ื˜ ืจืขื–ื™ื“ืึทื ืฅ ืคื•ืŸ ื”ืขืงืขืจ ื ื™ื™ึทืขืก ืื™ืŸ ื˜ื™ืžืึทื˜ื™ืง ืคึฟืขื“ืขื ื•ื•ื™ ืึท ื’ื™ื™ืŸ-ืฆื• ื’ืขืฆื™ื™ึทื’ ืคึฟืึทืจ ื‘ืขื ื˜ืฉืžืึทืจืงื™ื ื’.

Uarch-Bench ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืึธืคึผืฉืึทืฆืŸ ื–ื›ึผืจื•ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’, ืคึผืึทืจืึทืœืขืœ ื“ืึทื˜ืŸ ืœืึธื•ื“ื™ื ื’ ื’ื™ื›ืงื™ื™ึทื˜ ืื•ืŸ ืจื™ื™ื ื™ืงื•ื ื’ ืึทืจื‘ืขื˜ YMM ืจืขื“ื–ืฉื™ืกื˜ืขืจื–. ื•ื•ื™ ื“ื™ ื‘ืขื ื˜ืฉืžืึทืจืงื™ื ื’ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ื“ื•ืจืš ื“ื™ ืคึผืจืึธื’ืจืึทื ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ ื“ืขืจ ื‘ืึทืึทืžื˜ืขืจ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืื™ืŸ ื“ื™ ื“ื ืึธ ืคื•ืŸ ื“ื™ ื‘ืœืึทื˜.

ืขืก ืื™ื– ื›ื“ืื™ ืฆื• ื‘ืืžืขืจืงืŸ ืึทื– ื•ืึทืจื˜ืฉ-ื‘ืึทื ืง, ื•ื•ื™ ื˜ืขืžืกื™, ื“ื™ืกืงืึทื ืขืงืฅ Intel Turbo Boost ืคื•ื ืงืฆื™ืข (ืขืก ื™ื ืงืจื™ืกื™ื– ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื“ื™ ืคึผืจืึทืกืขืกืขืจ ื–ื™ื™ื’ืขืจ ื’ื™ื›ืงื™ื™ึทื˜ ืื•ื ื˜ืขืจ ืžืึทืกืข) ืึทื–ื•ื™ ืึทื– ื“ื™ ืคึผืจื•ื‘ื™ืจืŸ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ื–ืขื ืขืŸ ืงืึธื ืกื™ืกื˜ืขื ื˜.

ื“ืขืจื•ื•ื™ื™ึทืœ, ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ื– ืื™ืŸ ื“ื™ ืคืจื™ ืกื˜ืึทื’ืขืก ืคื•ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’, ืึทื–ื•ื™ Uarch-Bench ื”ืื˜ ื ื™ืฉื˜ ื“ื™ื˜ื™ื™ืœื“ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ, ืื•ืŸ ื–ื™ื™ืŸ ืึธืคึผืขืจืึทืฆื™ืข ืงืขืŸ ืึทื ื˜ื”ืึทืœื˜ืŸ ื‘ืึทื’ื– - ืœืžืฉืœ, ืฉื•ื•ืขืจื™ืงื™ื™ื˜ืŸ ื–ืขื ืขืŸ ื‘ืืงืื ื˜ ืžื™ื˜ ืงืึทื˜ืขืจ ืื•ื™ืฃ Ryzen. ืื•ื™ืš, ื‘ืœื•ื™ื– ื‘ืขื ื˜ืฉืžืึทืจืงืก ืคึฟืึทืจ ืงืก 86 ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจื– ื–ืขื ืขืŸ ื’ืขืฉื˜ื™ืฆื˜. ื“ืขืจ ืžื—ื‘ืจ ื”ื‘ื˜ื—ื•ืช ืฆื• ืœื™ื™ื’ืŸ ืžืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜ ืื•ืŸ ื™ื ื•ื•ื™ื™ืฅ ืื™ืจ ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’.

ืคืœื™ืกื™ืง

ื“ืึธืก ืื™ื– ืึท ื’ืึทื ื’ ืคื•ืŸ ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ื™ื•ื•ืึทืœื™ื•ื™ื™ื˜ื™ื ื’ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ืœื™ื ื•ืงืก ืžืืฉื™ื ืขืŸ ืžื™ื˜ Intel, AMD ืื•ืŸ ARMv8 ืคึผืจืึทืกืขืกืขืจื–. ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ื‘ืืฉืืคืŸ ืื•ื ื˜ืขืจ ื“ื™ ืึธืกืคึผื™ืกื™ื– ืคื•ืŸ ื“ื™ ื“ื™ื™ึทื˜ืฉ ืคืขื“ืขืจืืœืข ืžื™ื ื™ืกื˜ืขืจื™ื•ื ืคื•ืŸ ื‘ื™ืœื“ื•ื ื’ ืื•ืŸ ืคืึธืจืฉื•ื ื’ ืื™ืŸ 2017 ืื•ืŸ ื‘ืืคืจื™ื™ื˜ ืื™ืŸ ืึธืคึฟืŸ ืžืงื•ืจ.

ืฆื•ื•ื™ืฉืŸ ื“ื™ ืœื™ืงื•ื•ื™ื“ ืžื›ืฉื™ืจื™ื, ืžื™ืจ ืงืขื ืขืŸ ื”ื•ื™ื›ืคึผื•ื ืงื˜ likwid-powermeter, ื•ื•ืึธืก ื“ื™ืกืคึผืœื™ื™ื– ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹RAPL ืจืขื“ื–ืฉื™ืกื˜ืขืจื– ื•ื•ืขื’ืŸ ื“ื™ ืžืึทื›ื˜ ืงืึทื ืกื•ืžื“ ื“ื•ืจืš ื“ื™ ืกื™ืกื˜ืขื, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ likwid-setFrequencies, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืคึผืจืึทืกืขืกืขืจ ืึธืคื˜ืงื™ื™ึทื˜. ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ื“ื™ ื’ืึทื ืฅ ืจืฉื™ืžื” ื’ืขืคึฟื™ื ืขืŸ ืื™ืŸ ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™.

ื“ื™ ื’ืขืฆื™ื™ึทื’ ืื™ื– ื’ืขื ื™ืฆื˜ ื“ื•ืจืš ืขื ื“ื–ืฉืึทื ื™ืจื– ื™ื ื•ื•ืึทืœื•ื•ื“ ืื™ืŸ HPC ืคืึธืจืฉื•ื ื’. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืžื™ื˜ ืœื™ืงื•ื•ื™ื“ ืึทืจื‘ืขื˜ ืึท ื’ืจื•ืคึผืข ืคื•ืŸ โ€‹โ€‹ืกืคึผืขืฉืึทืœืึทืกืฅ ืคื•ืŸ ื“ื™ ืจืขื’ื™ืึธื ืึทืœ ืงืึทืžืคึผื™ื•ื˜ื™ื ื’ ืฆืขื ื˜ืขืจ ืคื•ืŸ ื“ืขืจ ืื•ื ื™ื•ื•ืขืจืกื™ื˜ืขื˜ ืคื•ืŸ ืขืจืœืึทื ื’ืขืŸ-ื ื•ืจืขืžื‘ืขืจื’ (RRZE) ืื™ืŸ ื“ื™ื™ึทื˜ืฉืœืึทื ื“. ื–ื™ ืื•ื™ืš ื ืขืžื˜ ืึทืŸ ืึทืงื˜ื™ื•ื• ืึธื ื˜ื™ื™ืœ ืื™ืŸ ื“ืขืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ื“ืขื ื’ืึทื ื’ ืคื•ืŸ ืžื›ืฉื™ืจื™ื.

ื‘ืขื ื˜ืฉืžืึทืจืงืก ืคึฟืึทืจ ืœื™ื ื•ืงืก ืกืขืจื•ื•ืขืจืก: ืึท ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืขืคึฟืŸ ืžื›ืฉื™ืจื™ื
ืคืึธื˜ืึธ - Clem Onojeghuo โ€” ืึทื ืกืคึผืœืึทืฉ

ืคึผืขืจืค-ืžื›ืฉื™ืจื™ื

ื“ืขื ื’ืขืฆื™ื™ึทื’ ืคึฟืึทืจ ืึทื ืึทืœื™ื™ื–ื™ื ื’ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ืœื™ื ื•ืงืก ืกืขืจื•ื•ืขืจืก ื‘ืึทืงืขื ืขื  ื‘ืจืขื ื“ืึทืŸ ื’ืจืขื’. ืขืจ ืื™ื– ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก DTrace - ืึท ื“ื™ื ืึทืžื™ืฉ ื˜ืจื™ื™ืกื™ื ื’ ืคืจื™ื™ืžื•ื•ืขืจืง ืคึฟืึทืจ ื“ื™ื‘ืึทื’ื™ื ื’ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื™ืŸ ืคืึทืงื˜ื™ืฉ ืฆื™ื™ื˜.

perf-tools ืื™ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ืคึผืขืจืค_ืขื•ื•ืขื ื˜ ืื•ืŸ ืคื˜ืจืึทืกืข ืงืขืจืŸ ืกืึทื‘ืกื™ืกื˜ืึทืžื–. ื–ื™ื™ืขืจ ื™ื•ื˜ื™ืœืึทื˜ื™ื– ืœืึธื–ืŸ ืื™ืจ ืฆื• ืคื•ื ืึทื ื“ืขืจืงืœื™ื™ึทื‘ืŸ ื™ / ืึธ ืœื™ื™ื˜ืึทื ืกื™ (ื™ืึธืกื ืึธืึธืคึผ), ืฉืคึผื•ืจ ืกื™ืกื˜ืขื ืจื•ืคืŸ ืึทืจื’ื•ืžืขื ื˜ืŸ (ื•ื ืงืึธื•ื ื˜, ืคื•ื ืงืกืœืึธื•ื•ืขืจ, ืคื•ื ืงื’ืจืึทืฃ ืื•ืŸ ืคื•ื ืงื˜ืจืึทืกืข) ืื•ืŸ ืงืœื™ื™ึทื‘ืŸ ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืื•ื™ืฃ "ื”ื™ื˜ืก" ืื™ืŸ ื“ืขืจ ื˜ืขืงืข ืงืึทืฉ (ืงืึทื˜ืฉืขืกื˜ืึทื˜). ืื™ืŸ ื“ื™ ืœืขืฆื˜ืข ืคืึทืœ, ื“ื™ ื‘ืึทืคึฟืขืœ ืงื•ืงื˜ ื•ื•ื™ ื“ืึธืก:

# ./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

ื ื’ืึทื ืฅ ื’ืจื•ื™ืก ืงื”ืœ ืื™ื– ื’ืขืฉืืคืŸ ืึทืจื•ื ื“ืขื ืงื™ื™ืœืข (ื›ึผืžืขื˜ 6 ื˜ื•ื™ื–ื ื˜ ืฉื˜ืขืจืŸ ืื•ื™ืฃ ื’ื™ื˜ื”ื•ื‘). ืื•ืŸ ืขืก ื–ืขื ืขืŸ ืงืึธืžืคึผืึทื ื™ืขืก ื•ื•ืึธืก ืึทืงื˜ื™ื•ื•ืœื™ ื ื•ืฆืŸ ืคึผืขืจืฃ ืžื›ืฉื™ืจื™ื, ืœืžืฉืœ Netflix. ืึธื‘ืขืจ ื“ื™ ื’ืขืฆื™ื™ึทื’ ืื™ื– ื•ื•ื™ื™ื˜ืขืจ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืื•ืŸ ืžืึทื“ืึทืคื™ื™ื“ (ื›ืึธื˜ืฉ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืจืขืœืขืึทืกืขื“ ื’ืึทื ืฅ ืจืึทืจืขืœื™ ืœืขืฆื˜ื ืก). ื“ืขืจื™ื‘ืขืจ, ืขืจืจืึธืจืก ืงืขืŸ ืคึผืึทืกื™ืจืŸ ืื™ืŸ ื–ื™ื™ึทืŸ ืึธืคึผืขืจืึทืฆื™ืข - ื“ืขืจ ืžื—ื‘ืจ ืฉืจื™ื™ื‘ื˜ ืึทื– ืžืืœ ืคึผืขืจืค-ืžื›ืฉื™ืจื™ื ื– ืงืขืจืŸ ืคึผืึทื ื™ืง.

llvm-mca

ื ื ื•ืฆืŸ ื•ื•ืึธืก ืคึผืจื™ื“ื™ืงืก ื•ื•ื™ ืคื™ืœืข ืงืึทืžืคึผื™ื•ื˜ื™ื ื’ ืจืขืกื•ืจืกืŸ ืžืึทืฉื™ืŸ ืงืึธื“ ื•ื•ืขื˜ ื“ืึทืจืคืŸ ืื•ื™ืฃ ืคืึทืจืฉื™ื“ืขื ืข ืงืคึผื•ืก. ื–ื™ ืึธืคึผืฉืึทืฆืŸ ืื™ื ืกื˜ืจื•ืงืฆื™ืขืก ืคึผืขืจ ืฆื™ืงืœ (ื™ืคึผืง) ืื•ืŸ ื“ื™ ืžืึทืกืข ืื•ื™ืฃ ื“ื™ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ื•ื•ืึธืก ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื“ื–ืฉืขื ืขืจื™ื™ืฅ.

llvm-mca ืื™ื– ื’ืขื•ื•ืขืŸ ื“ืขืจืœืื ื’ื˜ ืื™ืŸ 2018 ื•ื•ื™ ืึท ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜ LLVM, ื•ื•ืึธืก ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึท ื•ื ื™ื•ื•ืขืจืกืึทืœ ืกื™ืกื˜ืขื ืคึฟืึทืจ ืึทื ืึทืœื™ืกื™ืก, ื˜ืจืึทื ืกืคืึธืจืžืึทืฆื™ืข ืื•ืŸ ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ ืคื•ืŸ ืžื’ื™ืœื”. ืขืก ืื™ื– ื‘ืึทื•ื•ื•ืกื˜ ืึทื– ื“ื™ ืžื—ื‘ืจื™ื ืคื•ืŸ llvm-mca ื–ืขื ืขืŸ ื™ื ืกืคึผื™ื™ืขืจื“ ื“ื•ืจืš ืึท ืœื™ื™ื–ื•ื ื’ ืคึฟืึทืจ ืึทื ืึทืœื™ื™ื–ื™ื ื’ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืคืึธืจืฉื˜ืขืœื•ื ื’ IACA ืคึฟื•ืŸ ื™ื ื˜ืขืœ ืื•ืŸ ื’ืขื–ื•ื›ื˜ ืฆื• ืฉืึทืคึฟืŸ ืึทืŸ ืื ื“ืขืจ ื‘ืจื™ืจื”. ืื•ืŸ ืœื•ื™ื˜ ื™ื•ื–ืขืจื–, ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื’ืขืฆื™ื™ึทื’ (ื–ื™ื™ืขืจ ืื•ื™ืกืœื™ื™ื’ ืื•ืŸ ืงื•ื•ืึทื ื˜ื™ื˜ื™) ื˜ืึทืงืข ืจื™ื–ืขืžื‘ืึทืœื– IACA - ื‘ื™ื™ึทืฉืคึผื™ืœ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืคื•ื ืขืŸ ื“ืึธ. ืึธื‘ืขืจ, llvm-mca ื‘ืœื•ื™ื– ืึทืงืกืขืคึผืฅ AT&T ืกื™ื ื˜ืึทืงืก, ืึทื–ื•ื™ ืื™ืจ ื•ื•ืขื˜ ืจื•ื‘ึฟ ืžืกืชึผืžื ื”ืึธื‘ืŸ ืฆื• ื ื•ืฆืŸ ืงืึทื ื•ื•ืขืจื˜ืขืจื– ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ืื™ื.

ื•ื•ืึธืก ืžื™ืจ ืฉืจื™ื™ึทื‘ืŸ ื•ื•ืขื’ืŸ ืื•ื ื“ื–ืขืจ ื‘ืœืึธื’ืก ืื•ืŸ ื’ืขื–ืขืœืฉืึทืคื˜ืœืขืš ื ืขื˜ื•ื•ืึธืจืงืก:

ื‘ืขื ื˜ืฉืžืึทืจืงืก ืคึฟืึทืจ ืœื™ื ื•ืงืก ืกืขืจื•ื•ืขืจืก: ืึท ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืขืคึฟืŸ ืžื›ืฉื™ืจื™ื "ืžืึทื˜. ื•ื•ืื ื˜ ืกื˜ืจื™ื˜ ืžืึธื“ืขืœ" ืึธื“ืขืจ ื•ื•ื™ ืฆื• ืึทืคึผื˜ืึทืžื™ื™ื– ื•ื•ืึธืœืงืŸ ืงืึธืก

ื‘ืขื ื˜ืฉืžืึทืจืงืก ืคึฟืึทืจ ืœื™ื ื•ืงืก ืกืขืจื•ื•ืขืจืก: ืึท ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืขืคึฟืŸ ืžื›ืฉื™ืจื™ื ื•ื•ื™ ืฆื• ื‘ืึทื•ื•ืึธืจืขื ืขืŸ ื“ื™ื™ืŸ ืœื™ื ื•ืงืก ืกื™ืกื˜ืขื: 10 ืขืฆื•ืช
ื‘ืขื ื˜ืฉืžืึทืจืงืก ืคึฟืึทืจ ืœื™ื ื•ืงืก ืกืขืจื•ื•ืขืจืก: ืึท ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืขืคึฟืŸ ืžื›ืฉื™ืจื™ื ืžื™ื ืึทืžื™ื™ื–ื™ื ื’ ืจื™ื–ื™ืงื™ืจืŸ: ื•ื•ื™ ื ื™ื˜ ืฆื• ืคืึทืจืœื™ืจืŸ ื“ื™ื™ืŸ ื“ืึทื˜ืŸ

ื‘ืขื ื˜ืฉืžืึทืจืงืก ืคึฟืึทืจ ืœื™ื ื•ืงืก ืกืขืจื•ื•ืขืจืก: ืึท ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืขืคึฟืŸ ืžื›ืฉื™ืจื™ื ื‘ื™ื›ืขืจ ืคึฟืึทืจ ื“ื™ ื•ื•ืืก ื–ืขื ืขืŸ ืฉื•ื™ืŸ ื™ื ื•ื•ืึทืœื•ื•ื“ ืื™ืŸ ืกื™ืกื˜ืขื ืึทื“ืžื™ื ื™ืกื˜ืจืึทืฆื™ืข ืึธื“ืขืจ ื–ืขื ืขืŸ ื ืึธืจ ืคึผืœืึทื ื™ืจื•ื ื’ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ
ื‘ืขื ื˜ืฉืžืึทืจืงืก ืคึฟืึทืจ ืœื™ื ื•ืงืก ืกืขืจื•ื•ืขืจืก: ืึท ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืขืคึฟืŸ ืžื›ืฉื™ืจื™ื ืกืขืœืขืงืฆื™ืข: ืคื™ื ืฃ ื‘ื™ื›ืขืจ ืื•ืŸ ืื™ื™ืŸ ืงื•ืจืก ืื•ื™ืฃ ื ืขื˜ื•ื•ืึธืจืงืก

ื‘ืขื ื˜ืฉืžืึทืจืงืก ืคึฟืึทืจ ืœื™ื ื•ืงืก ืกืขืจื•ื•ืขืจืก: ืึท ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืขืคึฟืŸ ืžื›ืฉื™ืจื™ืืžื™ืจ ื‘ื™ื™ 1cloud.ru ืคืึธืจืฉืœืึธื’ืŸ ืึท ืคืจื™ื™ ื“ื™ื ืกื˜ "ื“ื ืก ื”ืึธืกื˜ื™ื ื’" ืื™ืจ ืงืขื ืขืŸ ืคื™ืจืŸ ื“ื ืก ืจืขืงืึธืจื“ืก ืื™ืŸ ืึท ืื™ื™ืŸ ืคึผืขืจื–ืขื ืœืขืš ื—ืฉื‘ื•ืŸ.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’