notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photosAll times are UTC
Ukraine

Newsfeed changes

The news feed page[s] were not laid out well. Two pages, disjointed information, hard to figure out how to use the optional parameters...

Thankfully, someone told me.

The new page is ready for your review. Please compare these two:

You may also be interested in the Github issue.
Port details
libcpucycles Microlibrary for counting CPU cycles
20240318_2 benchmarks on this many watch lists=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 Package not present on quarterly.This port was created during this quarter. It will be in the next quarterly branch but not the current one.
Maintainer: fuz@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2024-10-30 09:03:18
Last Update: 2024-11-25 10:22:04
Commit Hash: 05515f1
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:
FreshPorts has no man page information for this port.
pkg-plist: as obtained via: make generate-plist
Expand this list (14 items)
Collapse this list.
  1. @ldconfig
  2. /usr/local/share/licenses/libcpucycles-20240318_2/catalog.mk
  3. /usr/local/share/licenses/libcpucycles-20240318_2/LICENSE
  4. /usr/local/share/licenses/libcpucycles-20240318_2/PD
  5. bin/cpucycles-info
  6. include/cpucycles.h
  7. lib/libcpucycles.a
  8. lib/libcpucycles.so
  9. lib/libcpucycles.so.1
  10. share/man/man1/cpucycles-info.1.gz
  11. share/man/man3/cpucycles.3.gz
  12. @owner
  13. @group
  14. @mode
Collapse this list.
Dependency lines:
  • libcpucycles>0: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 = 1730224174 SHA256 (libcpucycles-20240318.tar.gz) = 19646a1b69d8f013647313fcedf15b6a89327a4b7ce553536d513f1f6e54d32d SIZE (libcpucycles-20240318.tar.gz) = 42790

Packages (timestamps in pop-ups are UTC):
libcpucycles
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest20240318_220240318_2-20240318_220240318_2---
FreeBSD:13:quarterly20240318_220240318_2-20240318_220240318_2---
FreeBSD:14:latest20240318_220240318_2-20240318_220240318_2---
FreeBSD:14:quarterly20240318_220240318_2-20240318_220240318_2---
FreeBSD:15:latest20240318_220240318_2n/a20240318_2n/a---
Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. python3.11 : lang/python311
There are no ports dependent upon this port

Configuration Options:
No options to configure
Options name:
benchmarks_libcpucycles
USES:
python:build shebangfix
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: 3

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
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: 3