Программа оптимизирует старые программы для нового оборудования, не требуя исходного кода

14:00 19.07.2015

|   1141 прочтение



В МТИ и Adobe разработали систему, автоматически оптимизирующую устаревшие участки кода Photoshop для выполнения на современном оборудовании.

 

Специалисты Массачусетского технологического института и компании Adobe разработали систему Helium, автоматически оптимизирующую устаревшие участки кода Photoshop для выполнения на современном оборудовании. При этом исходный код не нужен — системе достаточно двоичного, причем даже без отладочных символов.

Photoshop тщательно оптимизируют для каждого поколения оборудования, но с модернизацией аппаратных технологий эти оптимизации устаревают, утрачивая актуальность, замедляя работу приложения и усложняя его код. Как сообщают в Adobe, в компании каждые несколько лет тратят огромные средства на переработку старого кода, и этот процесс отнимает у программистов несколько месяцев. Helium выполняет ту же работу за считанные часы или даже минуты.

В МТИ нашли способ идентифицировать в двоичном коде матричные ядра — циклы, выполняющие некоторое преобразование над большой областью пикселов. Такой код расходует много памяти и ресурсов процессора, и его быстродействие резко ухудшается с обновлением оборудования.

Helium преобразует двоичный код матричного ядра в код на созданном в МТИ высокоуровневом языке программирования Halide, ориентированном на обработку изображений, после чего выполняет оптимизацию. С помощью Helium удалось повысить быстродействие некоторых фильтров Photoshop на 75%, а скорость работы программы IrfanView, менее оптимизированной, — на 400-500%.


Теги: Программное обеспечение