Специалисты из Массачусетского технологического университета совместно с коллегами из Лаборатории вычислительной техники и искусственного интеллекта создали систему, которая способна в автоматическом режиме оптимизировать двоичный код устаревших программ. Helium делает это в десятки раз быстрее в сравнении с результатами, которые обеспечиваются профессиональными программистами.
Цель разработки Helium – оптимизация старого программного обеспечения под новое «железо» с целью существенного повышения их работы. Если первый компьютер у вас появился лет десять назад, то вы наверняка помните, к примеру, графический редактор Adobe Photoshop 5.0 или просмотрщик фотографий Irfan View. В этих программах имеются фильтры – фрагменты кода, которые предназначены для преобразования изображений. Суть работы фильтров – в многократном выполнении одних и тех же манипуляций с изображением.
В процессе оптимизации и ПК, и программисты выполняли извлечение фильтров из бинарного кода приложения. Дело в том, что производительность обработчиков во многом определяется уровнем аппаратного обеспечения. В старых программах фильтры были оптимизированы под комплектующие, которые тогда использовались, поэтому на современных ПК их производительность деградирует.
Helium извлекала код из бинарного файла, затем преобразовывала его в читабельный код на языке Halide и осуществляла оптимизацию. Затем скомпилированные новые фрагменты помещались обратно, заменяя исходные части программы. В результате система обеспечила ускорение обработки фильтрами старых версий Adobe Photoshop на 75%, а скорость работы IrfanView – в шесть раз.
Результаты действительно впечатляют: так, на работу, которую программисты выполняли бы около трех месяцев, система Helium сделала за один день. Разработчики отмечают, что на оптимизацию кода ежегодно тратятся миллиарды долларов; создание систем, подобных Helium, принесет разработчикам программного обеспечения существенную экономию и времени, и средств.
Напомним, что в конце июня специалисты Лаборатории вычислительной техники и искусственного интеллекта при Массачусетском технологическом институте сообщили о другой разработке — системе Code Phage, способной исправлять программные ошибки в бинарных файлах, без доступа к исходному коду приложения, путем использования фрагментов кода из программ-доноров.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.