Как известно, производительности эталонной реализации Python (CPython) и даже JIT-компилятора PyPy порой недостаточно для решения задач (решение не укладывается в ограничение по времени).
Представляю вашему вниманию транспайлер, который переводит Python-код в C++ таким образом, что производительность сгенерированного кода практически не уступает "ручной" реализации решения задачи на C++.
Вот ссылка на страницу проекта: https://11l-lang.org/transpiler/ru
Поддерживается не весь Python, а его подмножество, достаточное для решения практически любых задач по спортивному программированию (данный транспайлер был проверен на имеющихся решениях для более чем 500 задач на Codeforces различной сложности).
Недостатком проекта является существенное количество нюансов и особенностей, которые необходимо учитывать при написании программного кода на языке Python, чтобы он корректно скомпилировался данным транспайлером. Но я считаю, жить с этим можно. Не такая уж большая плата за возможность решать на Python те задачи, с которыми на данный момент справляются только C/C++ и другие компилируемые языки. (Большинство этих нюансов и особенностей перечислены в данном руководстве.)
Единственной альтернативой данному транспайлеру с сопоставимой скоростью является по сути только Cython, но там вообще приходится код практически переписывать, чтобы добиться сопоставимой производительности. А код решения задачи ‘Простое число’, приведенный на странице https://11l-lang.org/transpiler/ru, компилируется данным транспайлером как есть, в отличие от Cython.
Если наберётся достаточно большое количество участников Codeforces, поддерживающих данный проект, то не исключена возможность его добавления к поддерживаемым компиляторам в Codeforces [наряду с PyPy, который хоть и уступает данному транспайлеру в производительности, но обладает лучшей поддержкой Python].
This is awesome! If it's refined more, the usage for python in CP might potentially increase waaaay more.
wow, that is nice. I am willing to help. just tell me how I can help I already shared the post with my frindes
You can make a collection of Codeforces problems, which can not be solved with Python (CPython and PyPy) because of exceeding time/memory limit, but can be solved with this transpiler.
Ok I have encountered about 5 problems that gave me TLE and got accepted with c++. where should I put their links?
It sounds great! If python can be faster, more users will like python!
Ого! Я впечатлён! Обязательно попробую этим воспользоваться :D