⚡FissionBenchmark

Decompile latency · non-ranking

OverviewSemantic rankingSame-functionBoundary honestyFunctionsCode gridNIR vs HIRSource · dual layerHIR vs GhidraReadability · side by sideVariantsCompiler × optQuality EXTBare-compile · readabilitySpeedDecompile latencyFission ↔ GhidraShared IRReleasesTrend · what changedGitHub →
Fission Benchmark · Overview · Functions · NIR vs HIR · Quality EXT · Speed · IR parity · ISR 15 minsjkim1127/fission-benchmark
✅
VALID RUN
Fission 210/216 (97.2%), all-backend 425/432 (98.4%)
Measured 7/21/2026, 7:51:08 PM UTC
CorpusdevFunctions36Decompilers2Measured7/21/2026, 7:51:08 PM UTC

Decompile speed

Wall time from the decompiler adapter (time_ms on each row) — typically one binary batch decompile, amortized per function. Semantic / wine / oracle time is not included. This page is a non-ranking practicality diagnostic (same policy as Quality EXT). Optional summary.extensions.speed.microbench cold/warm trials come from the isolated Speed Smoke CI job.

Fission mean

2.46s

n=210 · p95 5.10s

Fission p50

1.68s

Median decompile latency

Ghidra mean

12.56s

n=215 · p95 24.47s

Paired speedup

5.89×

median ghidra/fission · n=209 pairs · geo 6.26×

Fission faster

98%

Share of paired cells with fission_ms < ghidra_ms

Micro-bench (cold vs warm)

No summary.extensions.speed.microbench attached yet. Run python -m runner.speed_microbench … or the Speed Smoke GitHub Action; attach via attach_summary_to_envelope (auto-loads results/speed/microbench_latest.json).

By decompiler (envelope rows)

Adapter decompile wall time per row (time_ms). Excludes semantic/oracle. Not a ranking axis.

DecompilerTimedMissingMeanp50p95MinMaxSum
fission21062.46s1.68s5.10s759ms20.44s516.36s
ghidra215112.56s9.96s24.47s7.42s30.16s2700.57s

Fission ↔ Ghidra (paired)

Same function × variant. Speedup= ghidra_ms / fission_ms (>1 ⇒ Fission faster). Sorted by slowest Fission first. Showing top 40 of 209.

FunctionVariantFissionGhidraSpeedup
rolling_hash32clang -O020.44s9.06s0.44×
bounded_tlv_sumclang -O020.44s9.06s0.44×
overlap_moveclang -O020.44s9.06s0.44×
mixed_width_accumulateclang -O020.44s9.06s0.44×
rotate_wordsclang -O020.44s9.06s0.44×
manipulate_bitfieldsgcc -O26.81s23.95s3.51×
matrix_multiplygcc -O26.81s23.95s3.51×
manipulate_bitfieldsclang -O05.34s20.97s3.92×

Slowest Fission functions

Fission-only, aggregated across variants (mean / p95 / max).

FunctionnMeanp95Max
bounded_tlv_sum55.36s16.73s20.44s
overlap_move55.36s16.73s20.44s
mixed_width_accumulate55.36s16.73s20.44s
manipulate_bitfields65.27s6.45s6.81s
matrix_multiply65.27s6.45s6.81s
rolling_hash3264.83s15.87s20.44s
rotate_words64.83s15.87s20.44s
reverse_string63.06s4.52s

Fission by compiler variant

Fission mean / p50 by compiler_variant.

VariantnMeanp50
clang -O0354.31s1.26s
gcc -O0362.55s2.16s
gcc -O2362.19s1.77s
clang -O2312.10s1.91s
gcc-m32 -O0362.05s1.48s
gcc-m32 -O2361.56s1.45s
matrix_multiply
clang -O0
5.34s
20.97s
3.92×
manipulate_bitfieldsclang -O25.12s25.75s5.03×
matrix_multiplyclang -O25.12s25.75s5.03×
manipulate_bitfieldsgcc-m32 -O25.09s20.51s4.03×
matrix_multiplygcc-m32 -O25.09s20.51s4.03×
reverse_stringgcc -O04.91s23.64s4.81×
find_substringgcc -O04.91s23.64s4.81×
manipulate_bitfieldsgcc -O04.71s25.68s5.46×
matrix_multiplygcc -O04.71s25.68s5.46×
manipulate_bitfieldsgcc-m32 -O04.58s19.66s4.30×
matrix_multiplygcc-m32 -O04.58s19.66s4.30×
list_sumgcc -O03.50s7.42s2.12×
kv_lookupgcc -O03.50s7.42s2.12×
apply_binopgcc -O03.50s7.42s2.12×
add_intsgcc -O03.50s7.42s2.12×
mul_intsgcc -O03.50s7.42s2.12×
dot_product_stridegcc -O03.50s7.42s2.12×
bounded_checksumgcc -O03.50s7.42s2.12×
list_sumgcc-m32 -O03.39s7.44s2.20×
kv_lookupgcc-m32 -O03.39s7.44s2.20×
apply_binopgcc-m32 -O03.39s7.44s2.20×
add_intsgcc-m32 -O03.39s7.44s2.20×
mul_intsgcc-m32 -O03.39s7.44s2.20×
dot_product_stridegcc-m32 -O03.39s7.44s2.20×
bounded_checksumgcc-m32 -O03.39s7.44s2.20×
reverse_stringclang -O03.36s21.32s6.35×
find_substringclang -O03.36s21.32s6.35×
reverse_stringclang -O23.27s21.79s6.67×
find_substringclang -O23.27s21.79s6.67×
sum_arrayclang -O23.21s9.96s3.10×
reverse_in_placeclang -O23.21s9.96s3.10×
find_pair_valueclang -O23.21s9.96s3.10×
4.91s
find_substring63.06s4.52s4.91s
dot_product_stride52.57s3.48s3.50s
list_sum62.39s3.47s3.50s
kv_lookup62.39s3.47s3.50s
apply_binop62.39s3.47s3.50s
add_ints62.39s3.47s3.50s
mul_ints62.39s3.47s3.50s
bounded_checksum62.39s3.47s3.50s
sum_array62.21s3.11s3.21s
reverse_in_place62.21s3.11s3.21s
find_pair_value62.21s3.11s3.21s
pointer_stride_sum62.21s3.11s3.21s
accumulate_pairs52.01s2.77s2.79s
state_machine_score51.70s2.11s2.17s
fibonacci61.47s2.09s2.16s
bubble_sort61.47s2.09s2.16s
linear_search61.47s2.09s2.16s
factorial61.47s2.09s2.16s
power61.47s2.09s2.16s
process_code61.47s2.09s2.16s
rc4_init61.40s1.55s1.57s
rc4_crypt61.40s1.55s1.57s