2010-01-29

... утка в зайце, заяц в шоке!..

Отдекомпилил флешевый загрузчик фоток Вконтакта.

Оказалось, что они используют адобовкую Alchemy.
Это такая хрень, что позволяет компилить C/C++ код в байт-код AVM2 (ActionScript 3).
Так вот, в загрузчик фоток вконтакта вкомпилена либа по работе с jpeg (от IJG).
Пережимают фотки...


Гугление показало, что это сделано для ускорения конвертации в JPEG.

Сишный код,скомпиленный в помесь АС3 байткода и х86 (который выполняется на написанном на AC3 интерпретаторе), выполоняется в несколько раз быстрее, чем реализация джипег-энкодера на чистом AC3. Как-то странно это все.
То-ли у алхимии такой хороший эмитер кода, то-ли у флеша/флекса -- плохой.