A command-line benchmarking tool.
Features:
-Statistical analysis across multiple runs.
-Support for arbitrary shell commands.
-Constant feedback about the benchmark progress and current estimates.
-Warmup runs can be executed before the actual benchmark.
-Cache-clearing commands can be set up before each timing run.
-Statistical outlier detection to detect interference from other programs and
caching effects.
-Export results to various formats: CSV, JSON, Markdown, AsciiDoc.
-Parameterized benchmarks (e.g. vary the number of threads).
Timestamps in output are now rfc3339-formatted #965
overflow warnings with timers fixed#980
Python dependencies are now covered by a requirements.txt #994
JSON output cleaned up when no CPU scaling is present (#1008)
CartesianProduct added for easier settings of multiple ranges (#1029)
Python bindings improvements:
Custom main functions (#993)
A rename to google_benchmark (#199
More state methods bound (#1037) with a builder interface (#1040)
Workflow additions in github include pylint (#1039) and bindings runs (#1041)
rbenchmark is inspired by the Perl module Benchmark, and is intended
to facilitate benchmarking of arbitrary R code. The library consists
of just one function, benchmark, which is a simple wrapper around
system.time. Given a specification of the benchmarking process
(counts of replications, evaluation environment) and an arbitrary
number of expressions, benchmark evaluates each of the expressions in
the specified environment, replicating the evaluation as many times as
specified, and returning the results conveniently wrapped into a data
frame.
No longer requires python 2.7
glmark2 2020.04 (20200428)
==========================
* Port Wayland flavor to xdg-shell window management.
* Support recent Android SDK/NDK versions.
* Add support for Windows via WGL and ANGLE-EGL.
* Support Raspberry Pi's dispmanx.
* Use glad for GL headers and dynamic GL library loading.
* Add --data-path command-line option to set data path at runtime.
* Add 'nframes' scene option to limit the number of rendered frames.
* Add F-Droid/fastlane metadata.
Update dnsperf to 2.3.4.
pkgsrc change: switch dependency from net/bind914 to net/bind916
2020-05-15 Jerry Lundström
Release 2.3.4
This release adds a workaround, thanks to patch from Petr Menšík, for
building on systems with BIND 9.16. Also improves error handling by
using thread-safe `strerror_r()` instead of `strerror()`.
88c3ef4 strerror
1917f67 openSUSE Tumbleweed
fd39641 AS_VAR_APPEND
aeeef74 bind 9.16
07732cd BIND, libcrypto, clang format
08146e3 Add crypto library to checks
e4307c2 Add checks to pass with BIND 9.16
3f9aed3 Prepare check for bind 9.11/9.16 return types
2020-05-06 Jerry Lundström
Release 2.3.3
This release changes the behavior of `dnsperf` and `resperf` when it
comes to TCP and TLS connections, and updates package building using
COPR (thanks to patch from Petr Menšík (Red Hat)).
Connection reset or close are now treated as "try again" so that the
run is finished and not aborted. As SIGPIPE might be received on usage
of closed connections it's now blocked in `dnsperf` and handled as
a fatal action in `resperf`.
62885ad SIGPIPE
106c50e connection
3ef0899 README
61a3b1c COPR
35efa27 COPR
46b37a1 COPR
5c126ae COPR
1c51b76 Provide full URL in spec
2a4dd0e Allow recreation of source archive
931d6cc Do not require root for archive creation
v1.5.1:
Python bindings are now available in //bindings/python
Upgraded bazel from 0.10.1 to 3.2.0 (long overdue)
RISC-V and PPC cycleclock fixes
Various build warnings and cmake issues resolved
Documentation improvements
Change list since 1.26 not available, but at least the ancient patch
fixing compilation with GCC seems to no longer be available.
Bring over also patch from FreeBSD ports to compile a variant
with rudimentary IPv6 support.
Without the dependency, the build fails with:
> Scanning dependencies of target copy_clobber_memory_assembly_test
> env: python: No such file or directory
pkglint -r --network --only "migrate"
As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
2019-08-23 Jerry Lundström
Release 2.3.2
This release fixes a buffer overflow when using TSIG and algorithms
with digests larger then SHA256, reported by Mukund Sivaraman. Also
fix build dependencies for `sqrt()`.
e54aa58 Digest
bca5d8d sqrt
d9eaa5b Package
2019-07-24 Jerry Lundström
Release 2.3.1
After a report and additional confirming results the use of `poll()` in
the network receive code for TCP and TLS has been removed. This `poll()`
initially gave better results while testing in a docker container on
it's loopback interface but when on physical networks it reduced
performance to 1/12th, so it had to go.
Thanks to Brian Wellington (Akamai/Nominum) for the initial report and
testing, and to Jan Hák (CZ.NIC) for testing and confirming the results.
Bugfix:
- Fix check for having more DNS messages in the receive buffer for TCP
and TLS
670db9c TCP/TLS receive
b8925b2 recvbuf have more
2019-07-17 Jerry Lundström
Release 2.3.0
This release adds support for DNS over TCP and TLS which can be selected
by using the mode option for `dnsperf` and `resperf`. The default server
port used is now determined by the transport mode, udp/tcp port 53 and
tls port 853.
Note that the mode option is different between the program because it was
already taken for `resperf`.
`dnsperf` changes:
- Add `-m` for setting transport mode, `udp` (default), `tcp` or `tls`
- Add verbose messages about network readiness and congestion
`resperf` changes:
- Add `-M` for setting transport mode, `udp` (default), `tcp` or `tls`
- Add `-v` for verbose mode to report about network readiness and
congestion
ffa49cf LGTM, SonarCloud
4cd5441 TLS
35624d1 TCP send, socket ready loop
fbf76aa TCP support
5988b06 Funding
2019-01-28 Jerry Lundström
Release 2.2.1
The commit pulled from a fork that used `inttypes.h`, instead of ISC
internal types, missed to remove the old conversion specifier.
This was reported and fixed by Vladimír Čunát.
9534ce1 remove visible "u" characters after numbers
2019-01-25 Jerry Lundström
Release 2.2.0
First release by DNS-OARC with a rework of the code to use autotools,
semantic versioning 2.0 and bugfixes pulled from other's forks.
Bugfixes:
- Fix infinite loop in argument parsing
- Fix min/max latency summing for multithreaded runs
- Fix calculation of per_thread socket counts
- Fixes to queryparse
- Mark correctly end of file
- Support python3
- Stop looping on end of file undefinitely
- Fix compilation issues and work around missing `dns_fixedname_initname()`
- Clang `scan-build` fixes
Other changes:
- add "configure --with-bind" option
- Handle bind library changes to HMAC (see #22) and other differences
between versions
- Workaround issue on FreeBSD (see #23)
- Use `snprintf()` and OpenBSD's `strlcat()`
- Add/update build dependencies for Debia, Ubuntu, CentOS, FreeBSD
and OpenBSD
ae9bc91 Clang format
b9bb085 CI, buildbot
b84e41b Autotools, README, changelog
a2e1732 License
9dcb661 Remove $Id markers, Principal Author and Reviewed tags from the
full source tree
0677bf0 Use dns_fixedname_initname() where possible
d8d4696 [master] add "configure --with-bind" option to dnsperf
b71a280 Add deb based distros dependencies
439c614 Replace custom isc_boolean_t with C standard bool type
407ae7c Replace custom isc_u?intNN_t types with C99 u?intNN_t types
c27afd4 Replace ISC_PRINT_QUADFORMAT with inttypes.h format constants
6fdb2f7 Fix queryparse
4909b78 README
2782d50 README.md: Rectify link to software
e31ddf4 fix calculation of per_thread socket counts
3bd7fb4 Fix min/max latency summing for multithreaded runs
2207e27 Fix infinite loop in argument parsing.
3bfe97a Include the github URL; remove the bug reports section.
0cee04a Add note about bug reports.
62c4b32 add .gitignore
c45f0be Initial import.
149172b Initial commit