Searches without login should now work. You must get asked to click a button.
Some translations wanted please.
New RSS 2.0 and Atom feeds are here. The old /backend/ feeds still work, but will be redirected later, so please update your subscriptions. Details.
Port details
libcpucycles Microlibrary for counting CPU cycles
20260901 benchmarks Σ=0 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout 20260901Version of this port present on the latest quarterly branch.
Maintainer: fuz@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2024-10-30 09:03:18
Last Update: 2026-09-06 16:16:57
Commit Hash: 360f397
Also Listed In: devel
License: PD
WWW:
https://cpucycles.cr.yp.to/
Description: #
libcpucycles is a microlibrary for counting CPU cycles. Cycle counts are not as detailed as Falk diagrams but are the most precise timers available to typical software; they are central tools used in understanding and improving software performance. The libcpucycles API is simple: include <cpucycles.h>, call cpucycles() to receive a long long whenever desired, and link with -lcpucycles. Internally, libcpucycles understands machine-level cycle counters for amd64 (both PMC and TSC), arm32, arm64 (both PMC and VCT), mips64, ppc32, ppc64, riscv32, riscv64, s390x, sparc64, and x86. libcpucycles also understands four OS-level mechanisms, which give varying levels of accuracy: mach_absolute_time, perf_event, CLOCK_MONOTONIC, and, as a fallback, microsecond-resolution gettimeofday. When the program first calls cpucycles(), libcpucycles automatically benchmarks the available mechanisms and selects the mechanism that does the best job. Subsequent cpucycles() calls are thread-safe and very fast. An accompanying cpucycles-info program prints a summary of cycle-counter accuracy.
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb - no subversion history for this port
Manual pages: #
pkg-plist: as obtained via: make generate-plist #
Expand this list (16 items)
Collapse this list.
  1. @ldconfig
  2. /usr/local/share/licenses/libcpucycles-20260901/catalog.mk
  3. /usr/local/share/licenses/libcpucycles-20260901/LICENSE
  4. /usr/local/share/licenses/libcpucycles-20260901/PD
  5. bin/cpucycles-info
  6. bin/cpucycles-open
  7. include/cpucycles.h
  8. lib/libcpucycles.a
  9. lib/libcpucycles.so
  10. lib/libcpucycles.so.1
  11. share/man/man1/cpucycles-info.1.gz
  12. share/man/man1/cpucycles-open.1.gz
  13. share/man/man3/cpucycles.3.gz
  14. @owner
  15. @group
  16. @mode
Collapse this list.
USE_RC_SUBR (Service Scripts)
  • no SUBR information found for this port
Dependency lines:
  • For RUN/BUILD depends:
    • libcpucycles>0:benchmarks/libcpucycles
  • For LIB depends:
    • libcpucycles.so:benchmarks/libcpucycles
To install the port: #
cd /usr/ports/benchmarks/libcpucycles/ && make install clean
To add the package, run one of these commands:
  • pkg install benchmarks/libcpucycles
  • pkg install libcpucycles
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
PKGNAME: libcpucycles
Flavors: #
there is no flavor information for this port.
distinfo: #
TIMESTAMP = 1788534957 SHA256 (libcpucycles-20260901.tar.gz) = c914c7275952ed00bb188e1170409c83b61abfd0b828cdb2b5a87275be43344e SIZE (libcpucycles-20260901.tar.gz) = 64694

Packages (timestamps in pop-ups are UTC): #
libcpucycles
ABIaarch64amd64armv6armv7i386
FreeBSD:14:latest2026090120260901-20240318_220260901
FreeBSD:14:quarterly2026090120260901-20240318_220260901
FreeBSD:15:latest2026090120260901n/a20240318_2n/a
FreeBSD:15:quarterly2026090120260901n/a-n/a
FreeBSD:16:latest2026090120260901n/a-n/a
Dependencies #
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies: #
  1. python3.12 : lang/python312
There are no ports dependent upon this port #

Configuration Options: #
No options to configure
Options name: #
benchmarks_libcpucycles
USES: #
python:build shebangfix
pkg-message: #
FreshPorts was unable to extract/find any pkg message
Master Sites: #
Expand this list (1 items)
Collapse this list.
  1. https://cpucycles.cr.yp.to/
Collapse this list.

Number of commits found: 8 #

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
20260901
06 Sep 2026 16:16:57
commit hash: 360f397e955faf854884fc09a5ad543fa593d60ecommit hash: 360f397e955faf854884fc09a5ad543fa593d60ecommit hash: 360f397e955faf854884fc09a5ad543fa593d60ecommit hash: 360f397e955faf854884fc09a5ad543fa593d60e files touched by this commit
Robert Clausecker (fuz) search for other commits by this committer
benchmarks/libcpucycles: update to 20260901

Changelog: https://cpucycles.cr.yp.to/download.html

Event:		Berlin Hackathon 202609
20260625
28 Jun 2026 10:59:30
commit hash: 7eda5f2ce0a69b39ee39c0819fba297be547238fcommit hash: 7eda5f2ce0a69b39ee39c0819fba297be547238fcommit hash: 7eda5f2ce0a69b39ee39c0819fba297be547238fcommit hash: 7eda5f2ce0a69b39ee39c0819fba297be547238f files touched by this commit
Robert Clausecker (fuz) search for other commits by this committer
benchmarks/libcpucycles: update to 20260625

This fixes a Linux-specific issue with no changes affecting FreeBSD.

Changelog: https://cpucycles.cr.yp.to/download.html
20260105
11 Jan 2026 15:27:48
commit hash: 1d0a13dbd489fad18bddaf27e09497fda7b50a8fcommit hash: 1d0a13dbd489fad18bddaf27e09497fda7b50a8fcommit hash: 1d0a13dbd489fad18bddaf27e09497fda7b50a8fcommit hash: 1d0a13dbd489fad18bddaf27e09497fda7b50a8f files touched by this commit
Robert Clausecker (fuz) search for other commits by this committer
benchmarks/libcpucycles: update to 20260105

Changelog: https://cpucycles.cr.yp.to/download.html
20251226
28 Dec 2025 15:12:08
commit hash: 26369b2563ea2beb9003156eedafc9b850ad0fc3commit hash: 26369b2563ea2beb9003156eedafc9b850ad0fc3commit hash: 26369b2563ea2beb9003156eedafc9b850ad0fc3commit hash: 26369b2563ea2beb9003156eedafc9b850ad0fc3 files touched by this commit
Robert Clausecker (fuz) search for other commits by this committer
benchmarks/libcpucycles: update to 20251226

Changelog: https://cpucycles.cr.yp.to/download.html

Event:		39C3
20250925
28 Sep 2025 09:29:34
commit hash: 7f47d8879ae096a1af776a78b5a36e4bf68f1e73commit hash: 7f47d8879ae096a1af776a78b5a36e4bf68f1e73commit hash: 7f47d8879ae096a1af776a78b5a36e4bf68f1e73commit hash: 7f47d8879ae096a1af776a78b5a36e4bf68f1e73 files touched by this commit
Robert Clausecker (fuz) search for other commits by this committer
benchmarks/libcpucycles: update to 20250925

Changelog: https://cpucycles.cr.yp.to/download.html

Event:		EuroBSDcon 2025
20240318_2
25 Nov 2024 10:22:04
commit hash: 05515f1759027c2a2b9bb4ca9e20641a048188bacommit hash: 05515f1759027c2a2b9bb4ca9e20641a048188bacommit hash: 05515f1759027c2a2b9bb4ca9e20641a048188bacommit hash: 05515f1759027c2a2b9bb4ca9e20641a048188ba files touched by this commit
Robert Clausecker (fuz) search for other commits by this committer
benchmarks/libcpucycles: report actual CPU frequency if supported

This uses sched_getcpu(2) to find the CPU we are scheduled on and then
cpufreq(4) to find the frequency of that CPU.  The caller is responsible
for pinning the thread to one CPU and/or disabling frequency scaling if
a consistent result is required.
20240318_1
06 Nov 2024 15:14:31
commit hash: 10004332587eb2be62e0ea7ee945770489e049e5commit hash: 10004332587eb2be62e0ea7ee945770489e049e5commit hash: 10004332587eb2be62e0ea7ee945770489e049e5commit hash: 10004332587eb2be62e0ea7ee945770489e049e5 files touched by this commit
Robert Clausecker (fuz) search for other commits by this committer
benchmarks/libcpucycles: fix jmpbuf / sigjmpbuf confusion

I forgot to include this patch originally.  While the warning is
harmless (sigjmp_buf and jmp_buf have the same layout on FreeBSD),
it might not be on downstream ports consumers like DragonflyBSD.
20240318
30 Oct 2024 09:00:37
commit hash: fb1687157216017a3c33d5b1890c3b2b75621735commit hash: fb1687157216017a3c33d5b1890c3b2b75621735commit hash: fb1687157216017a3c33d5b1890c3b2b75621735commit hash: fb1687157216017a3c33d5b1890c3b2b75621735 files touched by this commit
Robert Clausecker (fuz) search for other commits by this committer
benchmarks/libcpucycles: Microlibrary for counting CPU cycles

libcpucycles is a microlibrary for counting CPU cycles.  Cycle counts
are not as detailed as Falk diagrams but are the most precise timers
available to typical software; they are central tools used in
understanding and improving software performance.

The libcpucycles API is simple: include <cpucycles.h>, call cpucycles()
to receive a long long whenever desired, and link with -lcpucycles.

Internally, libcpucycles understands machine-level cycle counters for
amd64 (both PMC and TSC), arm32, arm64 (both PMC and VCT), mips64,
ppc32, ppc64, riscv32, riscv64, s390x, sparc64, and x86. libcpucycles
also understands four OS-level mechanisms, which give varying levels of
accuracy: mach_absolute_time, perf_event, CLOCK_MONOTONIC, and, as a
(Only the first 15 lines of the commit message are shown above View all of this commit message)

Number of commits found: 8