All Projects → pwaller → perf

pwaller / perf

Licence: BSD-3-Clause license
Linux Perf subsystem bindings for Go

Programming Languages

go
31211 projects - #10 most used programming language
c
50402 projects - #5 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to perf

Hotspot
The Linux perf GUI for performance analysis.
Stars: ✭ 2,415 (+12610.53%)
Mutual labels:  perf, profiling, cpu-profiling
lo2s
Linux OTF2 Sampling - A Lightweight Node-Level Performance Monitoring Tool
Stars: ✭ 24 (+26.32%)
Mutual labels:  profiling, cpu-profiling, linux-perf-bindings
perforator
Record "perf" performance metrics for individual functions/regions of an ELF binary.
Stars: ✭ 33 (+73.68%)
Mutual labels:  benchmark, perf, profiling
Scalene
Scalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python
Stars: ✭ 4,819 (+25263.16%)
Mutual labels:  profiling, cpu-profiling
audria
audria - A Utility for Detailed Ressource Inspection of Applications
Stars: ✭ 35 (+84.21%)
Mutual labels:  profiling, cpu-monitoring
terabit-network-stack-profiling
Tools for profiling the Linux network stack.
Stars: ✭ 68 (+257.89%)
Mutual labels:  perf, profiling
liar
Flexible, stand-alone benchmarking
Stars: ✭ 16 (-15.79%)
Mutual labels:  benchmark, perf
Flamegraph
Easy flamegraphs for Rust projects and everything else, without Perl or pipes <3
Stars: ✭ 2,185 (+11400%)
Mutual labels:  perf, profiling
Karma Benchmark
A Karma plugin to run Benchmark.js over multiple browsers with CI compatible output.
Stars: ✭ 88 (+363.16%)
Mutual labels:  benchmark, profiling
Phoronix Test Suite
The Phoronix Test Suite open-source, cross-platform automated testing/benchmarking software.
Stars: ✭ 1,339 (+6947.37%)
Mutual labels:  benchmark, profiling
perf-monitor
Kernel profiler based on perf_event and ebpf
Stars: ✭ 28 (+47.37%)
Mutual labels:  perf, profiling
Jsbench Me
jsbench.me - JavaScript performance benchmarking playground
Stars: ✭ 50 (+163.16%)
Mutual labels:  benchmark, profiling
react-native-startup-time
measure startup time of your react-native app
Stars: ✭ 88 (+363.16%)
Mutual labels:  benchmark, profiling
gl-bench
⏱ WebGL performance monitor with CPU/GPU load.
Stars: ✭ 146 (+668.42%)
Mutual labels:  benchmark, profiling
ronin
RoNIN: Robust Neural Inertial Navigation in the Wild
Stars: ✭ 144 (+657.89%)
Mutual labels:  benchmark
NPB-CPP
NAS Parallel Benchmark Kernels in C/C++. The parallel versions are in FastFlow, TBB, and OpenMP.
Stars: ✭ 18 (-5.26%)
Mutual labels:  benchmark
ftsb
Full Text Search Benchmark, a tool for comparing and evaluating full-text search engines.
Stars: ✭ 12 (-36.84%)
Mutual labels:  benchmark
php-simple-benchmark-script
Очень простой скрипт тестирования быстродействия PHP | Very simple script for testing of PHP operations speed (rusoft repo mirror)
Stars: ✭ 50 (+163.16%)
Mutual labels:  benchmark
vim-profiler
A vim plugin profiler and data plotter
Stars: ✭ 31 (+63.16%)
Mutual labels:  profiling
Java-Logging-Framework-Benchmark
Suite for benchmarking Java logging frameworks.
Stars: ✭ 16 (-15.79%)
Mutual labels:  benchmark

Defunct

These bindings are defunct. Please see acln0's great efforts, which hopefully will end up under the golang.org/x namespace one day:

https://github.com/acln0/perf

Linux Perf Bindings for Go

If you'd like to measure the (close to) exact number of CPU cycles and misses of a specific piece of Go code, you've come to the right place!

Unfortunately, it is not possible for a program being profiled by perf to exclude all but a specific bit of code. The linux documentation seems to imply that this can be achieved with prctl, but there are mailing list posts indicating that this does not work.

The solution is to profiling a specific section of code is to "self profile", which is that a program should configure and read the linux counters itself. In this case, prctl(PR_TASK_PERF_EVENTS_DISABLE) and prctl(PR_TASK_PERF_EVENTS_ENABLE) work as expected.

I'm afraid the code is very rough and ready at the moment. If you want to use it, you should figure it out by reading the source and the Linux documentation for the perf counters. Generally, you should only use this if you know what you're doing, otherwise you are likely to get bogus results.

Help is welcomed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].