Я пишу сложные алгоритмы обработки изображений для iPhone с помощью Xcode4 и официального SDK. Мне нужно много раз вычислять квадраты в моем коде, всегда для unsigned char x. Таким образом, чтобы сделать это быстрее, я объявил таблицу:x * x versus table_of_sqr [x] = нет разницы?
int table[255] = {0, 1, 4, 9,... };
и вместо
int sqr = x * x;
Я получаю значение из этой таблицы
int sqr = table[ABS(x)];
К сожалению, когда я профилирование мое приложение в симуляторе iPhone, это говорит мне, что эта одна строка (получение значения из таблицы) занимает более 50% времени выполнения приложения, поэтому это не является большим улучшением по сравнению с вычислениями sqr
в любое время. Что я делаю неправильно? Это должно быть намного быстрее, но я могу ошибаться, я новичок в этой среде программирования.
Заменены все квадратные корнеплоды квадратами. – paxdiablo