От Elliot
К DVK
Дата 13.10.2005 11:42:10
Рубрики Танки;

Re: Продолжим список...

>там был такой кусок кода:
> for (i = 0; i < sizeof(t1_flags) / sizeof(int); i++)
> ((int *) t1_flags)[i] = 0;
> - каждый раз чистился массив размером в 1мегабайт, из-за чего все жутко тормозило. после очистки массива только нужной размерности все заработало быстрее.
>вот такая простая оптимизация.

Мда... Программист, однако совсем дятлом был, коли memset не поюзал :-).

От DVK
К Elliot (13.10.2005 11:42:10)
Дата 13.10.2005 14:18:20

Re: Продолжим список...

Здравствуйте!

>Мда... Программист, однако совсем дятлом был, коли memset не поюзал :-).

кстати, memset тут не поможет :)
теоретически, хороший компилятор не даст почувствовать разницу :)

вот что они мне написали в ответ на мое замечание, так что они не _совсем_ "дятлы" :)

Hello Dmitry,

Thanks for helping us optimizing the OpenJPEG code.
Indeed, the erasing algorithm in t1_encode_cblk and t1_decode_cblk is
very slow.

To speed things up, we decided to use the "memset" function to erase the
memory used by t1_flags and t1_data.

The coding and decoding now only takes 2/3 of the time it used to!!!

Thanks a lot for you help,

François

С уважением, Дмитрий

З.Ы. кстати, эта библиотека, ИМХО, лучшее что есть в сети про Jpeg2000 на языке С.