Здравствуйте, remark, Вы писали:
R>Здравствуйте, RI, Вы писали:
RI>>У меня копируется один массив в другой (его размер под 2 метра).
RI>>Сейчас я планировал сделать это в цикле, а потом наткнулся на функцию memcpy.... с ней наверное будет быстрее? или нет?
R>Если массив POD-типов, то быстрее не будет, а если не POD-типов, то будет веселее
R>А если серьёзно, то я думаю, что скорость копирования большого блока памяти всё равно упрётся в скорость работы с памятью. memcpy просто нечего предложить принципиально нового по сравнению с циклом копирования. Т.е. если грамотно написать цикл копирования (без лишних операций), то скорость его выполнения будет не на много отличаться.
Про память всё верно, но "лишние" операции могут здорово помочь.
Пример "лишних операций"
R>Хотя всё таки разумнее использовать memcpy как минимум по двум причинам. Первая — её реализацию скорее всего соптимизировали на уровне ассемблера. Вторая — код будет более читабельным, т.к. сразу будет понятно что что-то копируется, а не просто цикл, а так же понятно что, куда и сколько.
Если используется Intel C++ compiler, то результат memcopy будет довольно хороший. Иначе, вероятно, не очень

.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth