Skip to content

WolfXL Rust Competitor Benchmark Run

  • Timestamp UTC: 2026-08-16T09:44:03.139211+00:00
  • Git branch: None
  • Git commit: None
  • Git dirty: None
  • Python: 3.13.9
  • Rounds: 11
Case Engine Surface Competitor Version Rows Cols Median seconds Units/sec
write_cell_by_cell_plain wolfxl_cell python_public_api wolfxl 2,000 5 0.011443 873,871
write_cell_by_cell_plain wolfxl_append python_public_api wolfxl 2,000 5 0.004504 2,220,166
write_cell_by_cell_plain wolfxl_write_rows python_public_api wolfxl 2,000 5 0.003729 2,681,594
write_cell_by_cell_plain wolfxl_write_rows_nocopy python_public_api wolfxl 2,000 5 0.003625 2,758,938
write_cell_by_cell_plain wolfxl_write_rows_fast_plain python_public_api wolfxl 2,000 5 0.003091 3,235,330
write_formula_cells wolfxl_append python_public_api wolfxl 2,000 5 0.005132 1,948,621
write_formula_cells wolfxl_write_rows_fast_formula python_public_api wolfxl 2,000 5 0.004102 2,437,538
write_unique_strings_plain wolfxl_write_rows_fast_unique_strings python_public_api wolfxl 2,000 5 0.005247 1,905,730
write_styled_cells wolfxl_styled python_public_api wolfxl 2,000 5 0.023999 416,689
write_styled_cells wolfxl_write_styled_rows python_public_api wolfxl 2,000 5 0.011385 878,339
write_styled_cells wolfxl_write_styled_rows_grid python_public_api wolfxl 2,000 5 0.003919 2,551,997
write_multi_sheet_plain wolfxl_multi_sheet python_public_api wolfxl 2,000 5 0.011073 2,709,232
write_multi_sheet_plain wolfxl_write_rows_fast_multi_sheet python_public_api wolfxl 2,000 5 0.006803 4,409,738
write_cell_by_cell_plain wolfxl_writer_direct direct_rust_api wolfxl 2,000 5 0.002344 4,265,984
write_cell_by_cell_plain wolfxl_writer_streaming_direct direct_rust_api wolfxl 2,000 5 0.002080 4,807,115
write_unique_strings_plain wolfxl_writer_direct direct_rust_api wolfxl 2,000 5 0.003966 2,521,379
write_unique_strings_plain wolfxl_writer_streaming_direct direct_rust_api wolfxl 2,000 5 0.004019 2,488,207
write_formula_cells wolfxl_writer_direct direct_rust_api wolfxl 2,000 5 0.003259 3,068,544
write_formula_cells wolfxl_writer_streaming_direct direct_rust_api wolfxl 2,000 5 0.002553 3,916,577
write_styled_cells wolfxl_writer_direct direct_rust_api wolfxl 2,000 5 0.002653 3,769,377
write_styled_cells wolfxl_writer_streaming_direct direct_rust_api wolfxl 2,000 5 0.002369 4,220,374
write_multi_sheet_plain wolfxl_writer_direct direct_rust_api wolfxl 2,000 5 0.006391 4,694,255
write_multi_sheet_plain wolfxl_writer_streaming_direct direct_rust_api wolfxl 2,000 5 0.005291 5,669,604
write_cell_by_cell_plain rust_xlsxwriter direct_rust_api rust_xlsxwriter 0.96.0 2,000 5 0.004436 2,254,220
write_unique_strings_plain rust_xlsxwriter direct_rust_api rust_xlsxwriter 0.96.0 2,000 5 0.007607 1,314,579
write_formula_cells rust_xlsxwriter direct_rust_api rust_xlsxwriter 0.96.0 2,000 5 0.004940 2,024,104
write_styled_cells rust_xlsxwriter direct_rust_api rust_xlsxwriter 0.96.0 2,000 5 0.005329 1,876,378
write_multi_sheet_plain rust_xlsxwriter direct_rust_api rust_xlsxwriter 0.96.0 2,000 5 0.009961 3,011,784
write_cell_by_cell_plain xlsxwriter direct_rust_api xlsxwriter 0.6.1 2,000 5 0.008079 1,237,771
write_unique_strings_plain xlsxwriter direct_rust_api xlsxwriter 0.6.1 2,000 5 0.013312 751,218
write_formula_cells xlsxwriter direct_rust_api xlsxwriter 0.6.1 2,000 5 0.009205 1,086,342
write_styled_cells xlsxwriter direct_rust_api xlsxwriter 0.6.1 2,000 5 0.009025 1,108,079
write_multi_sheet_plain xlsxwriter direct_rust_api xlsxwriter 0.6.1 2,000 5 0.020533 1,461,045
read_values_plain wolfxl_value_summary python_public_api wolfxl 2,000 5 0.001756 5,694,223
read_values_plain wolfxl_read_only python_public_api wolfxl 2,000 5 0.004081 2,450,330
read_values_plain wolfxl_read_only_chunks python_public_api wolfxl 2,000 5 0.003810 2,624,816
read_values_plain wolfxl_reader_direct direct_rust_api wolfxl 2,000 5 0.001793 5,577,764
read_values_plain umya-spreadsheet direct_rust_api umya-spreadsheet 3.0.1 2,000 5 0.008279 1,207,887
write_cell_by_cell_plain umya-spreadsheet direct_rust_api umya-spreadsheet 3.0.1 2,000 5 0.010499 952,430
modify_existing_workbook_plain wolfxl_modify python_public_api wolfxl 2,000 5 0.007551 265
modify_existing_workbook_plain wolfxl_modify_internal_phases python_public_api wolfxl 2,000 5 0.007519 266
modify_existing_workbook_plain wolfxl_modify_patcher_only python_binding_api wolfxl 2,000 5 0.003260 613
modify_existing_workbook_plain wolfxl_modify_direct direct_rust_api wolfxl 2,000 5 0.001605 1,246
modify_existing_workbook_plain wolfxl_modify_direct_in_place direct_rust_api wolfxl 2,000 5 0.001655 1,209
modify_existing_workbook_plain umya-spreadsheet direct_rust_api umya-spreadsheet 3.0.1 2,000 5 0.016799 119
modify_fullrewrite_plain wolfxl_modify_fullrewrite_direct direct_rust_api wolfxl 2,000 5 0.004518 443
modify_fullrewrite_plain umya-spreadsheet direct_rust_api umya-spreadsheet 3.0.1 2,000 5 0.016306 123
modify_fullrewrite_plain office_oxide direct_rust_api office_oxide 0.1.8 2,000 5 0.008161 245
modify_fullrewrite_wide wolfxl_modify_fullrewrite_direct direct_rust_api wolfxl 2,000 50 0.036782 54
modify_fullrewrite_wide umya-spreadsheet direct_rust_api umya-spreadsheet 3.0.1 2,000 50 0.139207 14
modify_fullrewrite_wide office_oxide direct_rust_api office_oxide 0.1.8 2,000 50 0.065998 30
modify_fullrewrite_large wolfxl_modify_fullrewrite_direct direct_rust_api wolfxl 20,000 5 0.041432 48
modify_fullrewrite_large umya-spreadsheet direct_rust_api umya-spreadsheet 3.0.1 20,000 5 0.157092 13
modify_fullrewrite_large office_oxide direct_rust_api office_oxide 0.1.8 20,000 5 0.075978 26
read_values_plain calamine direct_rust_api calamine 0.36.1 2,000 5 0.002090 4,783,924
read_formula_text wolfxl_formula_summary python_public_api wolfxl 2,000 5 0.001721 2,324,118
read_formula_text wolfxl python_public_api wolfxl 2,000 5 0.006734 593,968
read_formula_text wolfxl_reader_direct direct_rust_api wolfxl 2,000 5 0.001769 2,261,324
read_formula_text calamine direct_rust_api calamine 0.36.1 2,000 5 0.003854 1,037,827
read_values_plain fastexcel python_binding_api fastexcel 0.20.2 2,000 5 0.003225 3,100,775
read_values_plain python_calamine python_binding_api python-calamine 0.8.2 2,000 5 0.004088 2,446,060
write_cell_by_cell_plain office_oxide direct_rust_api office_oxide 0.1.8 2,000 5 0.004766 2,097,975
read_values_plain office_oxide direct_rust_api office_oxide 0.1.8 2,000 5 0.002956 3,383,188
modify_existing_workbook_plain office_oxide direct_rust_api office_oxide 0.1.8 2,000 5 0.003490 573

Speedup >1.0x means WolfXL is faster than the competitor.

Case Competitor Surface pair Speedup vs competitor
modify_existing_workbook_plain office_oxide python_public_api -> direct_rust_api 0.46x
modify_existing_workbook_plain umya-spreadsheet python_public_api -> direct_rust_api 2.22x
read_formula_text calamine python_public_api -> direct_rust_api 2.24x
read_values_plain calamine python_public_api -> direct_rust_api 1.19x
read_values_plain fastexcel python_public_api -> python_binding_api 1.84x
read_values_plain office_oxide python_public_api -> direct_rust_api 1.68x
read_values_plain python-calamine python_public_api -> python_binding_api 2.33x
read_values_plain umya-spreadsheet python_public_api -> direct_rust_api 4.71x
write_cell_by_cell_plain office_oxide python_public_api -> direct_rust_api 1.54x
write_cell_by_cell_plain rust_xlsxwriter python_public_api -> direct_rust_api 1.44x
write_cell_by_cell_plain umya-spreadsheet python_public_api -> direct_rust_api 3.40x
write_cell_by_cell_plain xlsxwriter python_public_api -> direct_rust_api 2.61x
write_formula_cells rust_xlsxwriter python_public_api -> direct_rust_api 1.20x
write_formula_cells xlsxwriter python_public_api -> direct_rust_api 2.24x
write_multi_sheet_plain rust_xlsxwriter python_public_api -> direct_rust_api 1.46x
write_multi_sheet_plain xlsxwriter python_public_api -> direct_rust_api 3.02x
write_styled_cells rust_xlsxwriter python_public_api -> direct_rust_api 1.36x
write_styled_cells xlsxwriter python_public_api -> direct_rust_api 2.30x
write_unique_strings_plain rust_xlsxwriter python_public_api -> direct_rust_api 1.45x
write_unique_strings_plain xlsxwriter python_public_api -> direct_rust_api 2.54x

Memory ratio <1.0x means WolfXL used less peak RSS than the competitor.

Case Competitor Surface pair Peak RSS ratio vs competitor Peak RSS excess bytes
modify_existing_workbook_plain office_oxide python_public_api -> direct_rust_api 10.87x 58867712
modify_existing_workbook_plain umya-spreadsheet python_public_api -> direct_rust_api 4.24x 49545216
read_formula_text calamine python_public_api -> direct_rust_api 17.27x 53051392
read_values_plain calamine python_public_api -> direct_rust_api 17.10x 52477952
read_values_plain fastexcel python_public_api -> python_binding_api 0.71x -22708224
read_values_plain office_oxide python_public_api -> direct_rust_api 11.90x 51052544
read_values_plain python-calamine python_public_api -> python_binding_api 0.99x -458752
read_values_plain umya-spreadsheet python_public_api -> direct_rust_api 4.30x 42762240
write_cell_by_cell_plain office_oxide python_public_api -> direct_rust_api 12.90x 54804480
write_cell_by_cell_plain rust_xlsxwriter python_public_api -> direct_rust_api 10.39x 53690368
write_cell_by_cell_plain umya-spreadsheet python_public_api -> direct_rust_api 4.43x 46006272
write_cell_by_cell_plain xlsxwriter python_public_api -> direct_rust_api 6.95x 50855936
write_formula_cells rust_xlsxwriter python_public_api -> direct_rust_api 9.87x 53772288
write_formula_cells xlsxwriter python_public_api -> direct_rust_api 6.96x 51232768
write_multi_sheet_plain rust_xlsxwriter python_public_api -> direct_rust_api 5.61x 51953664
write_multi_sheet_plain xlsxwriter python_public_api -> direct_rust_api 5.50x 51740672
write_styled_cells rust_xlsxwriter python_public_api -> direct_rust_api 10.39x 54181888
write_styled_cells xlsxwriter python_public_api -> direct_rust_api 6.98x 51363840
write_unique_strings_plain rust_xlsxwriter python_public_api -> direct_rust_api 9.01x 54476800
write_unique_strings_plain xlsxwriter python_public_api -> direct_rust_api 6.55x 51920896

Phase Diagnostics

Case Engine Phase Median seconds
write_cell_by_cell_plain wolfxl_cell construct_loop 0.007671
write_cell_by_cell_plain wolfxl_cell save_flush 0.003409
write_styled_cells wolfxl_styled populate_cells 0.013145
write_styled_cells wolfxl_styled save 0.010601
write_styled_cells wolfxl_write_styled_rows populate_cells 0.007661
write_styled_cells wolfxl_write_styled_rows save 0.003452
write_styled_cells wolfxl_write_styled_rows_grid populate_cells 0.000413
write_styled_cells wolfxl_write_styled_rows_grid save 0.003289
read_values_plain wolfxl_read_only iterate_values 0.002741
read_values_plain wolfxl_read_only open_workbook 0.001318
read_values_plain wolfxl_read_only_chunks iterate_values 0.002423
read_values_plain wolfxl_read_only_chunks open_workbook 0.001318
modify_existing_workbook_plain wolfxl_modify modify_save 0.007551
modify_existing_workbook_plain wolfxl_modify setup_copy 0.000220
modify_existing_workbook_plain wolfxl_modify verify_load 0.047073
modify_existing_workbook_plain wolfxl_modify_internal_phases assign_cells 0.000008
modify_existing_workbook_plain wolfxl_modify_internal_phases close 0.000107
modify_existing_workbook_plain wolfxl_modify_internal_phases load_workbook_modify 0.001802
modify_existing_workbook_plain wolfxl_modify_internal_phases modify_save_total 0.007519
modify_existing_workbook_plain wolfxl_modify_internal_phases save 0.005555
modify_existing_workbook_plain wolfxl_modify_internal_phases setup_copy 0.000189
modify_existing_workbook_plain wolfxl_modify_internal_phases verify_load 0.046361
modify_existing_workbook_plain wolfxl_modify_patcher_only modify_save 0.003260
modify_existing_workbook_plain wolfxl_modify_patcher_only setup_copy 0.000176
modify_existing_workbook_plain wolfxl_modify_patcher_only verify_load 0.045950

WolfXL Direct Rust Core Diagnostic

These rows compare WolfXL's full internal Rust reader directly with direct Rust readers. They are diagnostic only and do not replace the public API comparison above.

Case Competitor Surface pair Speedup vs competitor
read_formula_text calamine direct_rust_api -> direct_rust_api 2.18x
read_values_plain calamine direct_rust_api -> direct_rust_api 1.17x
read_values_plain office_oxide direct_rust_api -> direct_rust_api 1.65x
read_values_plain umya-spreadsheet direct_rust_api -> direct_rust_api 4.62x

WolfXL Direct Rust Writer Diagnostic

These rows compare WolfXL's internal Rust writer directly with direct Rust writers. They are diagnostic only and do not replace the public API comparison above.

Case Competitor Surface pair Speedup vs competitor
write_cell_by_cell_plain office_oxide direct_rust_api -> direct_rust_api 2.03x
write_cell_by_cell_plain rust_xlsxwriter direct_rust_api -> direct_rust_api 1.89x
write_cell_by_cell_plain umya-spreadsheet direct_rust_api -> direct_rust_api 4.48x
write_cell_by_cell_plain xlsxwriter direct_rust_api -> direct_rust_api 3.45x
write_formula_cells rust_xlsxwriter direct_rust_api -> direct_rust_api 1.52x
write_formula_cells xlsxwriter direct_rust_api -> direct_rust_api 2.82x
write_multi_sheet_plain rust_xlsxwriter direct_rust_api -> direct_rust_api 1.56x
write_multi_sheet_plain xlsxwriter direct_rust_api -> direct_rust_api 3.21x
write_styled_cells rust_xlsxwriter direct_rust_api -> direct_rust_api 2.01x
write_styled_cells xlsxwriter direct_rust_api -> direct_rust_api 3.40x
write_unique_strings_plain rust_xlsxwriter direct_rust_api -> direct_rust_api 1.92x
write_unique_strings_plain xlsxwriter direct_rust_api -> direct_rust_api 3.36x