Издавна среди наших братьев-программистов идет священная война за оптимизацию. Много народу на ней полегло, но ряд вопросов пока остались без ответов. Мы попытались разобраться в частностях. Для этого пришлось проанализировать, как лучше организовать цикл: аппаратно (с помощью ассемблерной команды REP MOVS, аналогичной сишной MEMCPY) или дедовским способом с архаичным, но надежным счетчиком итераций (т.е. программно). Встречайте: сравнение производительности программного и аппаратного циклов при выполнении операции копирования блоков различных размеров в картинках.
В интернете много споров на эту тему. Один программист говорит что нужно оценивать эффективность циклов на маленьких блоках данных, другой предпочитает для тестирования большие массивы информации. Вскоре разговор переходит на личности. На самом деле, каждое решение верно только при определенных условиях. Чисто для фана в этом можно убедиться, окунувшись в замечательный мир программирования для x86, самой популярной процессорной архитектуры: Аппаратные и программные циклы: кто быстрее?
Отправить комментарий