KillerPDF 1.8.3 corpus benchmark

Test date: 2026-09-02

The batch open/save comparison passed against the recorded 1.8.2 baseline: no previously successful input became a skip or failure. KillerPDF 1.8.3 saved 1,485 additional files. All five measured passes agreed on every file's status and diagnostic detail. The damaged-file gate had zero crashes and zero timeouts.

Results#

Collection Inputs Saved Skipped Save failures Median seconds
Public regression 16,696 15,171 1,233 292 182.093
Standards and color 649 377 235 37 5.666
Private stress 29,599 25,015 2,957 1,627 523.400
Damaged-file safety 80 0 78 2 Not timed as a batch

The three normal collections contain 46,944 inputs, with 40,563 saved, 4,425 skipped, and 1,956 save failures per pass. Including the separate safety collection gives 47,024 inputs.

These are hostile collections, not a zero-failure workload. All normal batch processes returned exit code 1 because their logs contain save failures. The runner completed normally; this result is based on per-file comparison, not on treating the batch exit code as success.

Comparison with 1.8.2#

Status transition Regression Standards/color Stress
Previously OK, still OK 15,013 367 23,698
Previously OK, now skipped or failed 0 0 0
Previously skipped, now OK 158 10 1,316
Previously failed, now OK 0 0 1
Previously skipped, now failed during saving 5 1 13
Previously failed, still failed 287 36 1,614
Previously skipped, still skipped 1,233 235 2,957

All paths match the baseline without missing, added, or duplicate inputs. Continuing failures have unchanged diagnostic details. The 19 skip-to-failure transitions previously failed opening; they now open but encounter save-time checks for invalid signatures, malformed object references, deep catalog graphs, or repeated form fields. They do not represent loss of a previously successful save.

Most recoveries were previously rejected hybrid cross-reference or incremental-generation structures. The recovered stress failure is pdf-association/GHOSTSCRIPT/GHOSTSCRIPT-700987-0.pdf.

Damaged-file statuses, details, and exit codes match 1.8.2 exactly: 78 skips and two reported failures, with no missing logs, crashes, or timeouts.

Collection 1.8.2 median seconds 1.8.3 median seconds Change
Public regression 167.891 182.093 8.5% longer
Standards and color 5.695 5.666 0.5% shorter
Private stress 512.967 523.400 2.0% longer

KillerPDF 1.8.3 performs more successful saves. These figures compare the same input collections with an earlier recorded baseline, not an alternating same-session rerun of both executables.

Build and method#

  • Source commit: d091fff62238b39782342ea576debceb61119f12.
  • Version: 1.8.3, Release, win-x64, framework-dependent installed-payload build.
  • Fresh payload published with KillerPayloadBuild=true; no release or installation was performed.
  • Executable SHA-256: 4E43B0CAAED62B4F7A1B5E6751A36D46F1FF482F3DF197B1E92A22DA949A58A1.
  • Application DLL SHA-256: F0C6678FAE7A5A1964A772A6AFDC5F4C215C444124713EFFDA11FA430480BA27.
  • Engine DLL SHA-256: 33379D444C00A7F6AB9244ECA6B1FFE6256D8DA58963FBC72B326178BB175757.
  • Runner: KillerPDF-Corpus/scripts/benchmark_corpus.ps1, existing local collections, downloads disabled.
  • One warmup and five measured passes per normal collection, run sequentially.
  • All 80 damaged inputs tested individually with a 30-second timeout.
  • No other builds or test jobs ran during measured passes.
  • Full per-file logs remain at C:\Users\steve\code\KillerPDF-Corpus-Work\baseline-v1.8.3-20260902.
  • Candidate payload remains at C:\Users\steve\code\KillerPDF-Corpus-Work\candidate-1.8.3-20260902.

The committed run data and summary preserve the measurements. The comparison baseline is KillerPDF-Corpus/benchmarks/killerpdf-v1.8.2.

This run tests batch opening and saving plus malformed-input process safety. It does not replace interactive rendering checks or a separate qpdf/veraPDF before-and-after conformance sweep.

Updated

Was this page helpful?