Доступ к памяти выравнивается быстрее? - PullRequest
1 голос
/ 15 июня 2011

Предположим, что мое машинное слово имеет длину 32 бита, и мне нужно отсортировать строки из 8 символов.
Я читал, что если вы упакуете символы в слова, сравнение будет быстрее, поскольку вы используете выравниваемый доступ к памяти.
Таким образом, в нашем случае мы разделим строки на два слова по 4 байта и используем первое слово каждой строки для сравнения, если они совпадают, тогда вы проверяете второе слово каждой строки.

Улучшается ли производительность?Это становится быстрее?Поскольку кодирование становится более сложным, окупается ли оно?И если это работает, это работает для всех языков?

1 Ответ

1 голос
/ 15 июня 2011

Ответ зависит от архитектуры, и компиляторы обычно довольно хорошо справляются с оптимизацией этих вещей.Если вы не программируете для конкретной архитектуры, вам нужно выжать все биты скорости и действительно знать процессор, вам лучше позволить компилятору решить выравнивание.

...