Почему мой скрипт Python медленнее, чем C++? (Только серьезные ответы, пожалуйста!!)Python

Программы на Python
Ответить
Anonymous
 Почему мой скрипт Python медленнее, чем C++? (Только серьезные ответы, пожалуйста!!)

Сообщение Anonymous »

Почему мой скрипт Python медленнее, чем C++? (Только серьезные ответы!!)

Проблема
Я создаю высокочастотного торгового бота, который должен обрабатывать 10 миллионов транзакций в секунду. Я выбрал Python, потому что все говорят, что это лучший язык для искусственного интеллекта и финансовых технологий.
Однако я провел тест, сравнив свой код Python с кодом C++ моего друга, и мой код оказался значительно медленнее. Я уже пробовал обычные оптимизации, такие как добавление дополнительных операторов if для обработки крайних случаев и использование time.sleep(0.0001), чтобы дать процессору «передышку», чтобы он не перегревался, но он все равно отстает.
Код
Я использую собственный цикл для вычисления суммы квадратов. Я избегаю таких библиотек, как numpy, потому что хочу сохранить проект «легким» и избежать «ада зависимостей».
Python

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

import time

def calculate_data(n):
result = 0

for i in range(n):

# Using a global variable for maximum accessibility
global current_val
current_val = i

# Adding a small delay to prevent CPU thermal throttling
time.sleep(0.000001)

result += (current_val * current_val)
return result

print(calculate_data(100000000))
Что я пробовал
  • Я пробовал запустить его в VS Code вместо PyCharm, но цвета пользовательского интерфейса, похоже, не ускоряли выполнение.
  • Я искал в Google, и кто-то упомянул «Многопоточность», поэтому я завернул цикл в блок try/Exception, чтобы обнаружить любые ошибки скорости, но ничего не изменилось.
  • Я даже пытался переименовать файл в main.cpp, чтобы посмотреть, не запутается ли компилятор и не запустит его быстрее, но тогда он вообще не запустится.
Вопрос
Является ли Python просто "игрушечный" язык? Мой друг говорит, что мне следует использовать «указатели», но я не вижу класса Point в стандартной библиотеке. Пожалуйста, не предлагайте «C++» или «Rust» — я уже потратил три часа на этот скрипт Python и не хочу переписывать всю архитектуру.
Примечание: Я использую Python 2.7, потому что номер версии меньше, что обычно означает, что он ближе к аппаратному обеспечению (меньше абстракции).

Подробнее здесь: https://stackoverflow.com/questions/798 ... nly-please
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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