C - самый быстрый способ поменять местами два блока памяти равного размера?

Каков самый быстрый способ поменять местами две неперекрывающиеся области памяти равного размера? Скажем, мне нужно поменять местами (t_Some * a) на (t_Some * b) . Принимая во внимание компромисс между пространством и временем, увеличит ли временное пространство скорость? Например, (char * tmp) vs (int * tmp) ? Ищу портативное решение.

Прототип:

void swap_elements_of_array(void* base, size_t size_of_element, int a, int b);
11
задан psihodelia 17 November 2011 в 11:52
поделиться