Спасибо за ссылку на документ.

у сеть прямой связи в VC ++ с использованием встроенных функций AVX. Я вызываю этот код через PInvoke в C #. Моя производительность при вызове функции, которая вычисляет большой цикл, включая функцию exp (), составляет ~ 1000 мс при размере петли 160 МБ. Как только я позвонюЛюбые Функция, которая использует встроенные функции AVX, а затем впоследствии использует exp (), моя производительность падает до ~ 8000 мс для той же операции. Обратите внимание, что функция, вычисляющая exp (), является стандартной C, и вызов, который использует встроенные функции AVX, может быть совершенно не связан с обрабатываемыми данными. Какой-то флаг срабатывает где-то во время выполнения.

Другими словами,

A(); // 1000ms calculates 160M exp() 
B(); // completely unrelated but contains AVX
A(); // 8000ms

или, что любопытно,

C(); // contains 128 bit SSE SIMD expressions
A(); // 1000ms

Я заблудился относительно того, какой возможный механизм происходит здесь, или как заняться солнцем. Я на Intel 2500K CPU \ Win 7. Экспресс версии VS.

Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос