Commit Graph
1186 Commits
Author SHA1 Message Date
Andrew Wood c427c367c1 Add alternative sorting for systems without "sort -V". 2026-06-07 00:28:11 +01:00
Andrew Wood f58ad83c95 Try to use "-r" with cksum since on OpenBSD that gives the hash first. 2026-06-07 00:10:19 +01:00
Andrew Wood 05f9adade5 Fall back to "cksum -a md5" if "md5sum" is not available. 2026-06-07 00:04:19 +01:00
Andrew Wood b29da37462 Use a maximum of 3/4 of the space in the temporary directory, to avoid the "quota exceeded" errors on /dev/shm seen on some OSes during testing. 2026-06-06 19:57:39 +01:00
Andrew Wood 827614dd66 Note the timer addition to splice (and copy_file_range) to match what happens with a write. 2026-06-06 00:52:37 +01:00
Andrew Wood d075ddf1ed Add timed signal interruption to the read side as well as the write, so that a non-write transfer method like splice or copy_file_range will still get interrupted if it takes too long. 2026-06-05 23:30:49 +01:00
Andrew Wood 5971d622bd Remove the TODO after testing confirmed that ENOSPC in copy_file_range causes fallback through splice() to read()/write() and eventually normal termination; and add more debugging. 2026-06-05 23:01:07 +01:00
Andrew Wood 14ee298bc3 Fall back through the different transfer methods in a consistent way, so that after a copy_file_range failure, splice through intermediate pipes can still be tried (#196). 2026-06-04 23:44:56 +01:00
Andrew Wood 07c1798b5e Re-order and re-word for clarity so the user-visible features come first, and mention the extension to %T. 2026-06-01 23:28:07 +01:00
Andrew Wood 4765b677e7 Message line number updates. 2026-06-01 23:25:47 +01:00
Andrew Wood 9dbec3cf50 Remove the build directory after running the benchmarks in -d mode (#198). 2026-06-01 21:41:32 +01:00
Andrew Wood 246d7701e4 Cap the amount passed to splice() and copy_file_range() to a specific value, don't just pass SIZE_MAX, since that value can cause errors, making the transfer fall back to read()/write(). 2026-06-01 21:36:38 +01:00
Andrew Wood 8f4bed3274 Remove the "directed output" tests since they give the same results as writing stdout to a file and can't be used with stdout going to a pipe; and add formatting options to show transfer buffer usage details (#198). 2026-06-01 21:11:18 +01:00
Andrew Wood 7e993ba14e Note the use of copy_file_range (#196). 2026-05-31 23:40:11 +01:00
Andrew Wood ae0fe82d8a Cast to unsigned long long to avoid issues on 32-bit systems (#196). 2026-05-31 23:33:28 +01:00
Andrew Wood 76a8da7dc1 Cast in the other direction because on 32-bit systems a size_t is smaller than an off_t (#196). 2026-05-31 22:29:54 +01:00
Andrew Wood 6130d65249 Use copy_file_range() for transfers if it is available (#196). 2026-05-31 22:18:18 +01:00
Andrew Wood 85918358a5 Clean up at the end of a benchmark run, before the next one, in multi-sources mode; and remove the output files before starting each measurement. 2026-05-31 01:43:54 +01:00
Andrew Wood 0331673e02 Minor documentation fixes, and update the version (#198). 2026-05-31 01:16:41 +01:00
Andrew Wood 542c91cdbc Correct the minimum temp space requirements since there are 2 input files and 2 output files, not 1 output file. 2026-05-31 01:01:23 +01:00
Andrew Wood 868a054366 Add an option to read source tar.gz files from a directory and extract, compile, and benchmark pv from each one. 2026-05-31 00:58:52 +01:00
Andrew Wood 549db120db Documentation cleanup. 2026-05-30 23:49:58 +01:00
Andrew Wood 0a1e53c2db Silence the warning about tr. 2026-05-30 23:24:49 +01:00
Andrew Wood ecfe1f72e3 Allow comparison between runs as well as between pv versions, with auto selection the default; add an option to only show the final line of each comparison so only the latest is shown; and add an option for a terse analysis format. 2026-05-30 23:22:42 +01:00
Andrew Wood 703cf06b7e Add an explanation to the version comparison report. 2026-05-30 22:38:03 +01:00
Andrew Wood 3628ed5072 Show each measurement command in the analysis. 2026-05-30 22:29:47 +01:00
Andrew Wood 067c9aa7a3 Line up the columns in the analysis report. 2026-05-30 22:24:20 +01:00
Andrew Wood 9b3f37c233 Make the awk variable names more consistent. 2026-05-30 21:59:04 +01:00
Andrew Wood b20598ff72 Move measurement definitions into a list so that individual measurements can be selected to be run on their own. 2026-05-30 21:52:29 +01:00
Andrew Wood 8bd5e89f92 Remove accidental extra field from mean and standard deviation reports, and add an analysis of how each measurement performs between PV versions. 2026-05-30 20:10:24 +01:00
Andrew Wood 905894f294 Rename the new benchmark script. 2026-05-29 22:17:27 +01:00
Andrew Wood 453bcec11a Accept command line options, and allow addition of an analysis step later. 2026-05-29 22:16:25 +01:00
Andrew Wood a984ab5dd3 Be less specific and so more accurate. 2026-05-29 21:24:33 +01:00
Andrew Wood 624097639f Message line number updates. 2026-05-29 21:09:47 +01:00
Andrew Wood 47ca0d8cf8 Provide a system ID to identify the host running test, the PV version, and a run ID for the whole test, as three separate fields in each output line, for easier processing later. 2026-05-29 20:03:37 +01:00
Andrew Wood 5944115d94 Measure each type of transfer several times, and calculate the mean and standard deviation afterwards. 2026-05-28 23:42:19 +01:00
Andrew Wood b99026d7d7 Add a benchmark script to measure transfer rate and CPU usage of various options (#198). 2026-05-27 23:27:56 +01:00
Andrew Wood f72486d4e8 Don't cap splice() amounts to the transfer buffer size, since the transfer buffer isn't being used. 2026-05-26 23:32:38 +01:00
Andrew Wood e74cab6985 If discarding input but /dev/null can't be used as a splice() destination, fall back to normal read() rather than exiting with an error (#192). 2026-05-26 22:36:58 +01:00
Andrew Wood a0a097decb Mention that the ETA will be displayed on the second part. 2026-05-24 15:51:06 +01:00
Andrew Wood d0b230bceb Reword the explanation. 2026-05-24 15:29:01 +01:00
Andrew Wood 63f4a0bc39 Datestamp update. 2026-05-24 15:03:42 +01:00
Andrew Wood 983f75c7df Message line number updates. 2026-05-23 00:33:08 +01:00
Andrew Wood e043efd259 Handle splice failures more robustly when the intermediate pipe is involved. 2026-05-23 00:32:50 +01:00
Andrew Wood 7e99aa5b13 Expand the description of --no-splice. 2026-05-22 21:43:30 +01:00
Andrew Wood 2d08b3208a Expand the explanation of "--name" and "--cursor" and remove "you". 2026-05-22 21:31:09 +01:00
Andrew Wood 944ae9aca1 Reword to remove implied agency. 2026-05-22 21:18:34 +01:00
Andrew Wood e82d5e48f4 Simplify the explanation of --delay-start. 2026-05-22 21:15:06 +01:00
Andrew Wood 98c92e0239 Make the --wait example a little clearer. 2026-05-22 20:52:42 +01:00
Andrew Wood 6c5d86c66f Add the missing closing bracket. 2026-05-22 20:44:43 +01:00