Я оптимизирую кодировщик PNG для использования в Flash SWF (но я пишу его в Haxe ).
Мне до сих пор удавалось ускорить процесс, в основном с помощью быстрого чтения / записи в память .
Во время профилирования моего кода я заметил, что около 75% времени тратится на один вызов встроенного во Flash метода compress () , который использует алгоритм zlib (который, в свою очередь, использует DEFLATE ).
Я не слишком суетлив в отношении степени сжатия, но быстрее сжатие было бы потрясающим. Итак, мне было интересно, стоит ли пытаться самостоятельно реализовать zlib / DEFLATE. Небольшой поиск обнаружил исходный код z-реализации C, но это не совсем легкое чтение (или простое портирование!).
Существуют ли какие-либо простые реализации zlib / DEFLATE, которые я мог бы использовать в качестве отправной точки? Я бы предпочел не разбираться со двумя спецификациями , тем более что я не знаю, могла ли бы реализация, работающая в AVM2, работать так же быстро, как собственная Flash в первое место.