Huffmanův kód je efektivnější na zmenšení množeství dat, ale množství dat zde není úzké hrdlo --- úzké hrdlo je zátěž CPU. (gigabitový ethernet zaplácaný XML, které se rovnou stíhá parsovat? diskové pole čtoucí XML rovnou do parseru rychlostí 300 megabytů za sekundu? --- to si lze asi těžko představit)
Psal jsem HTML parser (nikoli XML) a funkce, co spotřebovala nejvíc času --- asi 30% --- dělala hledání atributů u tagů. Takže, kdybych chtěl navrhnout binární rychle-parsovatelné HTML, tak bych udělal:
- ukazatel na další atribut
- hash jména atributu (pokud to není atribut, co chceme, tak rovnou skočíme na další bez porovnávání jména)
- délka jména (memcmp je rychlejší než strcmp)
- jméno
- hodnota atributu, ukončená nulou (aby se pointer na ni dal rovnou předávat funkcím v C)
(v rozpoznávání tagů mi profiler kupodivu ani nezobrazoval moc stráveného času, důležité byly atributy)
Jak by tomu měl pomoct Huffmanův kód, si nedokážu představit.

