Общий вопрос теории.
Я пытаюсь собрать библиотеку из исходного кода (FFTW, если кому-то все равно, но это действительно не имеет значения), и я заметил, что есть возможность отключить использованиеalloca
.
Мне известно об опасности использования alloca
, но я оцениваю производительность FFTW с и без alloca
.
Имеет ли alloca
Известные проблемы с безопасностью потоков?Я наблюдаю экстремальное снижение производительности, когда использую определенное количество потоков с FFTW (которое, очевидно, вызывает alloca
в фоновом режиме).Я придерживаюсь использования числа потоков, равного степени 2, если это имеет значение.
Возможно ли, что FFTW разделяет объекты в локальном стеке потока через alloca
?Я просто пытаюсь понять, почему я вижу такие экстремальные хиты производительности с определенным количеством потоков.Тем не менее, я не совсем понимаю теорию того, что alloca
действительно делает с потоками.