Class RuntimeBenchmark

java.lang.Object
io.github.p4suta.tateyokopdf.tools.RuntimeBenchmark

public final class RuntimeBenchmark extends Object
Runtime performance + memory benchmark for the built jpackage launcher.

Splits a conversion's wall-clock into its parts without touching production code: end-to-end wall (measured around the launcher process), the launcher's own in-process "Done in", the difference as JVM-startup+init, the bundled qpdf's linearisation time, a --version startup floor, and peak RSS. Writes a Markdown report.

Everything is plain Java: wall time from System.nanoTime() and peak RSS by sampling the child's /proc/<pid>/status VmHWM (the kernel's monotonic high-water mark). Only the measured processes themselves remain subprocesses: the launcher and the bundled qpdf. RSS sampling is Linux-only; elsewhere it reports n/a while timings still work.

Usage: RuntimeBenchmark <launcher> <qpdf> <outDoc> <runs> <heapLabel> <input.pdf>...