LINUX.ORG.RU

История изменений

Исправление static_lab, (текущая версия) :

Как по мне имелось ввиду что просто перекомпилировав с обновленной стандартной библиотекой можно было бы сразу получить большую производительность. А так надо код переписывать.

Так если не нуль-терминированные строки использовать, а строки с заранее известной длиной, то копирование такой строки сводится условно к библиотечной memcpy, которая уже хорошо оптимизирована.

Кстати без интринсиков у меня получилось заставить GCC vmovdqu64 использовать, которая по 64 байта копирует: https://godbolt.org/z/GxxobEMYY

Исправление static_lab, :

Как по мне имелось ввиду что просто перекомпилировав с обновленной стандартной библиотекой можно было бы сразу получить большую производительность. А так надо код переписывать.

Так если не нуль-терминированные строки использовать, а строки с заранее известной длиной, то копирование такой строки сводится условно к библиотечной memcpy, которая уже хорошо оптимизирована.

Кстати без интринсиков у меня получилось заставить GCC только vmovdqu64 использовать, которая по 64 байта копирует: https://godbolt.org/z/GxxobEMYY

Исходная версия static_lab, :

Как по мне имелось ввиду что просто перекомпилировав с обновленной стандартной библиотекой можно было бы сразу получить большую производительность. А так надо код переписывать.

Так если не нуль-терминированные строки использовать, а строки с заранее известной длиной, то копирование такой строки сводится условно к библиотечной memcpy, которая уже хорошо оптимизирована.

Кстати без интринсиков у меня получилось заставить GCC только vmovdqu использовать, которая по 32 байта копирует: https://godbolt.org/z/916rshW7f