Benchmarks

Setup

Results

Bubo’s speeds and the “vs Bubo 0.1.0” column are from the runs named above. Each engine column divides Bubo’s speed in the same 2 November slot by that engine’s speed in that slot. The table shows no speed for the other engines, only how much faster Bubo is. “Level” means the ratio is between 0.97 and 1.03, inside the spread between two starts of the same engine. The column “with fast mode” shows how much faster Bubo is with Fast prefill mode than in normal mode, in the same run, with two starts of each. “Same” means that the row has fewer than 4,096 new tokens, or that it measures writing speed, and fast mode changes nothing there.

Huihui UD-Q4_K_XL

The model file that every engine ran.

RowSettingBubo 0.1.2gain with fast modevs Bubo 0.1.0Bubo is faster than
gufo Windows 0.24.0gufo-win 0.5.0Rulith Inference 0.6.10*
Prosesampled57.1same+9 %+24 %+5 %+7 %
Python codesampled66.3same+4 %+17 %+10 %+13 %
C++ codesampled77.5same+11 %+52 %+35 %+42 %
Six-prompt mix (agent, code, prose)sampled65.6same+12 %+26 %+19 %n/a
Long agent session, writing (10 turns, 31K to 37K)sampled66.2same+7 %+33 %+17 %n/a
Long agent session, reading new textsampled971samelevelsee belowsee belown/a
Code edit, renamegreedy109.0same+12 %+147 %level+55 %
Code edit, comment changegreedy97.6same+7 %+127 %−4 %+46 %
Cold 32K promptnatural text1,415+16.8 %+6 %levelleveln/a
Cold 100K promptnatural text1,384+16.5 %not measurednot measurednot measured
Cold 2K promptnatural text1,320same+6 %+4 %+6 %+22 %

ISTA-DASLab IQ3_S, 55 GB

The ISTA file that scores the same as full precision on ISTA’s benchmarks. The other engines were pointed at the published file as it is.

RowSettingBubo 0.1.2Bubo is faster than
gufo Windows 0.24.0gufo-win 0.5.0
Prosesampled58.7does not loaddoes not load
Python codesampled66.9does not loaddoes not load
C++ codesampled70.2does not loaddoes not load
Six-prompt mix (agent, code, prose)sampled63.7does not loaddoes not load
Long agent session, writing (10 turns, 31K to 37K)sampled64.9does not loaddoes not load
Long agent session, reading new textsampled813does not loaddoes not load
Code edit, renamegreedy106.9does not loaddoes not load
Code edit, comment changegreedy97.2does not loaddoes not load
Cold 32K promptnatural text1,229does not loaddoes not load
Cold 100K promptnatural text1,198does not loaddoes not load
Cold 2K promptnatural text1,078does not loaddoes not load

gufo Windows 0.24.0 does not load this file. Its message: “Failed to open GGUF: Invalid GGUF tensor shape or unsupported storage type: blk.0.ffn_gate_exps.weight”.

gufo-win 0.5.0 does not load this file. Its message: “Failed to open GGUF: Invalid GGUF tensor shape or unsupported storage type: blk.0.ffn_gate_exps.weight”.

ISTA-DASLab IQ3_XXS

Bubo only. The other engines were not run on this file.

RowSettingBubo 0.1.2gain with fast mode
Prosesampled64.6same
Python codesampled70.0same
C++ codesampled71.9same
Six-prompt mix (agent, code, prose)sampled70.0same
Long agent session, writing (10 turns, 31K to 37K)sampled68.6same
Long agent session, reading new textsampled814same
Code edit, renamegreedy115.4–
Code edit, comment changegreedy105.5–
Cold 32K promptnatural text1,225+16.8 %
Cold 2K promptnatural text1,094same

ISTA-DASLab IQ2_XS, 39 GB

The smaller ISTA file. The other engines were pointed at the published file as it is.

RowSettingBubo 0.1.2gain with fast modeBubo is faster than
gufo Windows 0.24.0gufo-win 0.5.0
Prosesampled65.3samedoes not loaddoes not load
Python codesampled78.0samedoes not loaddoes not load
C++ codesampled77.8samedoes not loaddoes not load
Six-prompt mix (agent, code, prose)sampled73.4samedoes not loaddoes not load
Long agent session, writing (10 turns, 31K to 37K)sampled68.3samedoes not loaddoes not load
Code edit, renamegreedy131.4samedoes not loaddoes not load
Code edit, comment changegreedy118.7samedoes not loaddoes not load
Cold 32K promptnatural text1,170+17.1 %does not loaddoes not load
Cold 100K promptnatural text1,147+16.5 %does not loaddoes not load
Cold 2K promptnatural text1,136samedoes not loaddoes not load

gufo Windows 0.24.0 does not load this file. Its message: “Failed to open GGUF: Invalid GGUF tensor shape or unsupported storage type: blk.0.ffn_down_exps.weight”.

gufo-win 0.5.0 does not load this file. Its message: “Failed to open GGUF: Invalid GGUF tensor shape or unsupported storage type: blk.0.ffn_down_exps.weight”.

* Rulith ran its own model file, not the file the other engines ran. “n/a”: Rulith produced no result on the agent-session prompts, so the agent-session rows, the six-prompt mix and the first 32K request have no result for it. On the frozen 32K prompt body, Bubo reads 13 % faster than Rulith in the same slot (1,405 against 1,241 tok/s).

“See below”: the engines count the cached part of a conversation differently. Over turns 1 to 9 of the agent session, Bubo read 6,779 new tokens, gufo-win 0.5.0 read 6,761 and gufo 0.24.0 read 10,489, so a speed per second would not compare. The wait that matters is below.

“Not measured”: at a prompt of about 100K tokens, the free host memory fell below the 2.5 GiB limit of the test harness during the run of these engines, so the row has no result for them.

gufo-win 0.5.0 reports its own speed from its server, and its server rate and the client rate differ (agent session: 67.8 and 54.7 tok/s). The table uses the client rate for every engine.

Reasoning check for fast mode: on 24 GPQA-Diamond questions with verbose answers, fast mode and normal mode both answered 21 correctly. It was measured on 28 October, with an earlier build that applied fast mode to every prompt.

Waiting for the first token

Total wait for the first token, summed over turns 1 to 9 of the ten-turn agent session, in seconds:

EngineSeconds
Bubo 0.1.28.8
gufo Windows 0.24.013.7
gufo-win 0.5.015.7

Other readings, Bubo 0.1.1

Readingtok/sSetting
2K prompt, benchmark tool, first run1,530bubo bench, empty context
2K prompt, through the server1,384 to 1,403sustained, plain and with drafting
Eight users at 40K each, total99.1server, drafting off

Power

From 70 W to 95 W, 2K prompt speed rose 12 % and generation 2.4 % on this laptop. At 140 W, a desktop-class limit, the estimate is 1.2x to 1.3x for short prompts and 1.04x to 1.07x for generation. These are estimates, not measurements.

Older results

The results of 0.1.0 (12 October 2026) stay on the 0.1.0 release page.