2016-11-22 6 views
0

Я наблюдаю около 20% разницы в производительности с питоном, скомпилированным с clang (Clang 3.4.1) по сравнению с python, скомпилированным с gcc (GCC 4.6).Python performance: Clang vs gcc

Я использую скрипт конфигурации, который поставляется с python. Я не уверен, что у меня что-то не хватает на оптимизацию clang complier. Прокомментируйте, пожалуйста.

+0

Это интересное наблюдение ... На самом деле это не вопрос. Есть ли что-то конкретное, что вы пытаетесь выяснить из этого? Если вы хотите узнать, есть ли лучшие флагов компилятора, вам нужно предоставить нам дополнительную информацию (какие флаги компилятора вы используете?) – mgilson

+0

Попытка выяснить флаги компилятора клана, которые могут оптимизировать производительность python. – user2586432

ответ

0

Pure догадки на моей стороне, но одна разница огромного из Clang против GCC является то, что Clang по умолчанию позволяет встраиванию в interposable функций в общих библиотеках (смотрите, например, this post для более подробной информации). Это нарушает правила интерполяции ELF, но обычно позволяет проводить более агрессивные оптимизации.

GCC является более строгим в этом отношении по умолчанию, но вы можете попросить такое же поведение с -fno-semantic-interposition (начиная с GCC 5.3).

Смежные вопросы