|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Ноя 2, 2004 15:29:23 Делаю dll видео кодака на основе преобразования Хаара ясно скорость компрессии декомпрессии здесь самый критический момент. Для теста берем color картинку 768*1024. VC++ Studio 2003 со всеми включенными флагами оптимизации и т.д его сгенерированный код выдает 180ms на сжатие картинки (Хаара преобразование простое без плавающих чисел только деление на два сложение да умножение ни каких сложных инструкций). Делаю код компрессии на asm в MASM v.7, все функции делаю inline и т.д., (dll размера 3Kb по сравнению с 180kb у VC++:-))... ..Но неужто VC++ компилятор делает настолько качественный код, что dll на asm дала 165ms на компрессию, или VC++ оптимизируется както для dll написанных на нем же (тест dll проходил из VC++)? (код на asme я сделал по подобию алгоритма на С, т.е. алгоритмы одни и теже только разные их реализации и компиляторы) |
|
|
Дата: Ноя 2, 2004 15:49:30 9ine код на asme я сделал по подобию алгоритма на С Если просто переводить конструкции C на ассемблер, то естественно что существенного выигрыша не будет. А вообще без кода сложно что либо сказать, может там и деление не нужно ... |
|
|
Дата: Ноя 2, 2004 21:20:50 попробуй скомпилить то же самое со свежим интеловским компилятором с разными настройками.. будешь удивлен :) |
|
|
Дата: Ноя 3, 2004 12:45:40 Хммм. Я могу сказать что на VC++ 2003 генерил очень близкий к оптимальному код... Если на асме длл - 3кб то я бы и на VC 3кб сделал бы... Например простенький FM-MIDI синтезатор с GUI, абоутом и т.д. у мя занял 7кб на VC++ 2003... Единственное что могу сказать, что 180kb у VC++ - это непростительно много :)) - точно можно сделать меньше, да и скорость ассемблера догнать тоже можно... |
|
|
Дата: Ноя 6, 2004 09:05:50 to semen. Как сократить VC++ 2003 код dll до меньше 10K, сам чистый код одна математика по размеру не больше нескольких Kb, остальное VC раздувает добавляя кучу функций из kernel32.dll, user32.dll, gdi32.dll, advapi32.dll и т.д |
|
|
Дата: Ноя 6, 2004 14:01:12 · Поправил: semen 9ine Хы - а ты не юзай дефолтный crt. Если хочешь - могу свой minicrt выслать - его и юзаю - тока там багов наверно дофига... |
|
|
Дата: Ноя 8, 2004 16:06:25 9ine, а ты отключил отключил отладочную инфу из проекта? :) Чую, что забыл ;) |
|
|
Дата: Ноя 8, 2004 16:11:27 Caesarus Да я чую, что много чего еще забыл :) |
|
|
Дата: Ноя 8, 2004 17:20:06 :-) вообше конфигурация Realease mfc в статик либрари, хотя код mfc я в ней не использую но VC++ делает dll без dllentry, если можно убрать оттуда mfc совсем? |
|
|
Дата: Ноя 18, 2004 00:36:14 9ine Если хочешь - кинь сюда проектик - сделаю из него маленький... |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.100 |