Разница в показателях производительности с clang — использование генератора Ninja и генератора Visual StudioC++

Программы на C++. Форум разработчиков
Anonymous
Разница в показателях производительности с clang — использование генератора Ninja и генератора Visual Studio

Сообщение Anonymous »

Недавно я пытался поэкспериментировать, создав одно и то же приложение в Clang с помощью генератора ninja и генератора Visual Studio с использованием cmake. Замечено, что Ninja Generator дает явное преимущество с точки зрения производительности по сравнению с генератором Visual Studio.
Под производительностью здесь понимается производительность во время выполнения приложения, которое мы пытаемся запустить после компиляции.
Генератор Ninja — внутри использует clang.exe и clang++.exe
Генератор Visual Studio — внутренне использует clang-cl.exe
Версия Clang — 17.0.3Флаги, используемые при компиляции одного и того же файла в обоих генераторах;
Генератор Visual Studio —

Код: Выделить всё

/O2 /Ob2 /D _WINDLL /D _MBCS /D WIN32 /D _WINDOWS /D NDEBUG /D _XOPEN_SOURCE=600 /D "CMAKE_INTDIR=\"Release\"" /EHsc /MD /GS /arch:AVX512 /GR /Gd /TC --target=amd64-pc-windows-msvc -Xclang -fopenmp 
Генератор ниндзя -

Код: Выделить всё

-O3 -DNDEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrt -std=gnu11 -Wshadow -Wstrict-prototypes -Wpointer-arith -Wmissing-prototypes -Werror=implicit-int -Werror=implicit-function-declaration -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wunreachable-code-break -Wunreachable-code-return -Wdouble-promotion -march=native -fopenmp=libomp -MD -MT 
Интересно, что может вызвать такую ​​разницу в производительности. Пожалуйста, выскажите свои мысли здесь. Спасибо

Подробнее здесь: https://stackoverflow.com/questions/791 ... r-and-visu

Вернуться в «C++»