Система Helium, созданная в MIT, способна оптимизировать бинарный код устаревших приложений в десятки раз быстрее, чем это делают профессиональные программисты вручную.
Система Helium
Команда исследователей из Массачусетского технологического института (MIT) и Лаборатории вычислительной техники и искусственного интеллекта (CSAIL) создали систему Helium, способную оптимизировать старые компьютерные программы под более новое аппаратное обеспечение и тем самым повышать скорость их работы. Об этом сообщил сайт учебного заведения.
Исследователи, в частности, посвятили свою работу программному обеспечению для работы с графикой, такому как Adobe Photoshop (растровый редактор) и Irfan View (просмотрщик).
Эти программы содержат фрагменты кода, предназначенные для преобразования изображений — фильтры. Фильтры отличаются тем, что выполняют одни и те же манипуляции с изображением многократно.
Производительность фильтров в значительной степени зависит от аппаратного обеспечения. Если компьютер оснащен современным оборудованием, производительность фильтров деградирует, так как их код остается оптимизированным под аппаратное обеспечение предыдущих поколений.
Извлечение и оптимизация кода
Исследователи научились «извлекать» фильтры из бинарного кода приложения, путем анализа многократно повторяющихся действий во время преобразования изображения. После того как созданная система, под названием Helium, «извлекла» фильтр из бинарного кода, она преобразует его в читабельный код на языке Halide, разработанном специалистами CSAIL.
Новая система на 75% повысила скорость работы фильтров в Photoshop
Далее выполняется оптимизация кода, и затем скомпилированные фрагменты кода, который был оптимизирован, вновь помещаются в бинарный файл, заменяя фрагменты с низкой производительностью.
Результаты
По словам авторов, оптимизация некоторых фильтров Photoshop с помощью системы Helium позволила на 75% увеличить их скорость работы, а производительность некоторых компонентов IrfanView удалось повысить в шесть раз.