|
Нужно оптимизировать код, Есть идеи как? |
|
|
|
Jan 20 2011, 14:56
|
Местный
  
Группа: Участник
Сообщений: 217
Регистрация: 11-06-10
Пользователь №: 57 868

|
Есть такой кусок кода: Код if((pwm>pgm_read_byte(&brightness[pwm_ch[0]]))|(pwm==0)){pd &= ~(1<<0);}//1 else {pd |= (1<<0);} if((pwm>pgm_read_byte(&brightness[pwm_ch[1]]))|(pwm==0)){pd &= ~(1<<1);}//2 else {pd |= (1<<1);} if((pwm>pgm_read_byte(&brightness[pwm_ch[2]]))|(pwm==0)){pa &= ~(1<<1);}//3 else {pa |= (1<<1);} if((pwm>pgm_read_byte(&brightness[pwm_ch[3]]))|(pwm==0)){pa &= ~(1<<0);}//4 else {pa |= (1<<0);} if((pwm>pgm_read_byte(&brightness[pwm_ch[4]]))|(pwm==0)){pd &= ~(1<<2);}//5 else {pd |= (1<<2);} if((pwm>pgm_read_byte(&brightness[pwm_ch[5]]))|(pwm==0)){pd &= ~(1<<3);}//6 else {pd |= (1<<3);} if((pwm>pgm_read_byte(&brightness[pwm_ch[6]]))|(pwm==0)){pd &= ~(1<<4);}//7 else {pd |= (1<<4);} if((pwm>pgm_read_byte(&brightness[pwm_ch[7]]))|(pwm==0)){pd &= ~(1<<5);}//8 else {pd |= (1<<5);} if((pwm>pgm_read_byte(&brightness[pwm_ch[8]]))|(pwm==0)){pb &= ~(1<<4);}//9 else {pb |= (1<<4);} if((pwm>pgm_read_byte(&brightness[pwm_ch[9]]))|(pwm==0)){pb &= ~(1<<3);}//10 else {pb |= (1<<3);} if((pwm>pgm_read_byte(&brightness[pwm_ch[10]]))|(pwm==0)){pb &= ~(1<<2);}//11 else {pb |= (1<<2);} if((pwm>pgm_read_byte(&brightness[pwm_ch[11]]))|(pwm==0)){pb &= ~(1<<1);}//12 else {pb |= (1<<1);} if((pwm>pgm_read_byte(&brightness[pwm_ch[12]]))|(pwm==0)){pb &= ~(1<<0);}//13 else {pb |= (1<<0);} if((pwm>pgm_read_byte(&brightness[pwm_ch[13]]))|(pwm==0)){pd &= ~(1<<6);}//14 else {pd |= (1<<6);} Он обрабатывается за 345 тактов. Мне нужно менее 300. Это возможно? А можно это как-то оформить ассемблерной вставкой? Спасибо.
|
|
|
|
Сообщений в этой теме
skyled Нужно оптимизировать код Jan 20 2011, 14:56 rezident Проверку pgm==0 из каждого условия уберите, сделав... Jan 20 2011, 15:07 codier Жуть
А побитное или ("|") в условиях в... Jan 20 2011, 15:14 skyled Спасибо за совет! Код действительно полегчал. ... Jan 20 2011, 15:21 codier А нельзя pgm_read_byte(&brightness[pwm_ch[1]])... Jan 20 2011, 15:26 skyled Цитата(codier @ Jan 20 2011, 18:26) А нел... Jan 20 2011, 15:47  follow_me избавьтесь от операций сдвига это забирает один ... Jan 20 2011, 18:03   777777 Цитата(follow_me @ Jan 20 2011, 21:03) из... Jan 20 2011, 18:08 follow_me pwm>pgm_read_byte(&brightness[pwm_ch[7]])
... Jan 20 2011, 18:40 smk Цитата(follow_me @ Jan 20 2011, 20:40) pw... Jan 20 2011, 19:09  follow_me Цитата(smk @ Jan 20 2011, 21:09) совершен... Jan 20 2011, 20:32   777777 Еще можно для оптимизации вытащить brightness из ф... Jan 21 2011, 07:18    demiurg_spb Цитата(777777 @ Jan 21 2011, 10:18) Еще м... Jan 21 2011, 14:01 codier 2follow_me:
2777777:
Глянул искомый девайс:
Цитат... Jan 21 2011, 07:38 _Pasha Все чаще и чаще наблюдаются жутковатые перлы. По ... Jan 21 2011, 08:54 follow_me В циклах кстати для приращения итератора стоит исп... Jan 21 2011, 15:34 _Pasha Цитата(demiurg_spb @ Jan 21 2011, 18:01) ... Jan 21 2011, 18:50 defunct Концептуально можно ускорить код - если вместо про... Jan 23 2011, 22:41 skyled Навскидку разумное зерно есть. Надо бдумать. А не ... Jan 24 2011, 14:55 defunct Цитата(skyled @ Jan 24 2011, 16:55) А не ... Jan 24 2011, 16:22  pokos Цитата(defunct @ Jan 24 2011, 19:22) Долж... Jan 24 2011, 17:37 pokos У меня на 3 канала было вот так сделано:
Код// Tim... Jan 24 2011, 15:05 kolobok0 Цитата(pokos @ Jan 24 2011, 18:05) Код...... Jan 25 2011, 10:15  pokos Цитата(kolobok0 @ Jan 25 2011, 13:15) А т... Jan 25 2011, 11:39 _Bill Цитата(pokos @ Jan 24 2011, 19:05) У меня... Jan 25 2011, 10:46 skyled Тут выяснилось, что еще вот эта конструкция кушает... Jan 25 2011, 10:11 xemul Цитата(skyled @ Jan 25 2011, 13:11) Тут в... Jan 25 2011, 11:52 Сергей Борщ QUOTE (skyled @ Jan 25 2011, 12:11) Тут в... Jan 25 2011, 12:16  xemul Цитата(Сергей Борщ @ Jan 25 2011, 15:16) ... Jan 26 2011, 14:06   Сергей Борщ QUOTE (xemul @ Jan 26 2011, 16:06) Замена... Jan 26 2011, 18:39 pokos Чото не могу найти в закромах финальные исходники ... Jan 25 2011, 20:30 _Pasha Цитата(kolobok0 @ Jan 25 2011, 13:15) хот... Jan 25 2011, 21:07 kolobok0 Цитата(_Pasha @ Jan 26 2011, 00:07) ...Во... Jan 25 2011, 22:00  _Pasha Цитата(kolobok0 @ Jan 26 2011, 01:00) или... Jan 27 2011, 04:15   defunct Цитата(_Pasha @ Jan 27 2011, 06:15) Ну п... Feb 1 2011, 12:51    _Pasha Цитата(defunct @ Feb 1 2011, 15:51) Ни од... Feb 1 2011, 16:37     defunct Цитата(_Pasha @ Feb 1 2011, 18:37) А по В... Feb 2 2011, 02:24
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|