суббота, 30 августа 2008 г.

Про оптимизацию

Оптимизация дело полезное и нужное.

Продолжаю ковыряться в H264 декодере. Доковырялся до расскодирования ключевого фрейма, но получается медленно, решил пооптимизировать.

Итак, оптимизацию делал в двух направлениях, во-первых, перевел кой-какие куски кода на MMX/SSE, во-вторых, раскидал код по тредам для работы на нескольких ядрах.

Жизнь как обычно весела. Потратил неделю на перевод под MMX/SSE (ну правда чистого времени затратил часа три, если б еще кто-то дал мне три часа поработать только над этим, не отвлекая по разным проблемам), еще неделю пытался оптимизировать чтение из битового потока с арифметическим декодером и еще десять минут на многопроцессорность.

Так вот по результатам, ковырянием с битовым потоком уменьшил время декодирования на 5%, перевод под SSE уменьшил еще на 20%, а раскидывание по потокам в 2.5 раза. Что еще раз подтверждает тот факт, что прежде чем заниматься ковырянием мелочей надо попробовать максимально простые варианты.

воскресенье, 24 августа 2008 г.

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

Такое впечатление, что писатели программного определения, уже полностью положили на пользователя все, что им удалось положить, т.е. во-первых, лепят абы как слепилось, во-вторых, творят чего хотят, считая, что машина пользователя предназначена исключительно для их программного продукта.

История номер раз.

Надо было пооптимизировать код, поставил CodeAnalyst от AMD. Он предложил встроиться в студию, чего же бы и нет подумал я и согласился. Все прекрасно работает (интерфейс правда страшнее атомной войны и мягко говоря не шибко удобный ну да интерфейс у таких программ вторичен). Итак все прекрасно работает только в статус строке у студии теперь крутится какой-то анимированный значок, что мягко говоря раздражает. Через пару часов значок это задрал по полной, а analyst, как выяснилось вполне достойно может быть заменен расстановкой ATLTRACE и комментированием части кода. В связи с чем решил этот самый analyst снести, и снес. После чего студия перестала запускать проекты на Debug и залечилось это только откатом к restore point. А ведь AMD воплне себе не мелкая контора и даже, наверное, кто-то тестирует ПО перед выпуском.

История номер два.

Поставил себе Corel - то что при установки оно ломится за чем-то в интернет, это полбеды, но вот то, что оно запускает виндовый сервис, убиение которого приводит программу в неработоспособное состояние, как-то удивляет. Т.е. это вот зачем? Я понимаю, когда сервис запускает антивирус или файервол, да мало ли программ которым это реально надо, но векторному редактору оно для чего?

История номер три.

Пользую Oper-у как основной брозер. Кешь хранят в одной папке, у меня на сегодня 40 000 файлов, ясный день, что оно начинает мал-мала тормозить - выгружается по пять минут. Когда делали вот так они думали? Скорее всего нет.

Все это вызывает изумление, да.