Производительность Python, стоящего стоимости?

Я определенно поощрил бы Вас смотреть на MathML, если это соответствует тому, что Вы ищете, но немного работы с JsTeX мог дать Вам все, в чем Вы нуждаетесь.

5
задан MrLore 18 September 2014 в 02:45
поделиться

6 ответов

В общем, вам не следует зацикливаться на производительности, пока вы действительно не увидите, что это стало проблемой. Поскольку мы не знаем деталей вашего приложения, мы не можем сказать, как оно будет работать, если будет реализовано на Python. И так как вы еще не реализовали это, вы тоже не можете.

Сначала внедрите наиболее удобную для вас версию, которая может быть реализована быстрее всех. Затем протестируйте его. И , если он слишком медленный, у вас есть три варианта, которые следует выполнять по порядку:

  • Во-первых, оптимизируйте свой код Python
  • Если этого недостаточно, напишите наиболее критичные для производительности функции на C / C ++ и вызовите это из вашего кода Python
  • И, наконец, если вам действительно нужна максимальная производительность, вам, возможно, придется переписать все это на C ++. Но тогда по крайней мере ты У меня будет рабочий прототип на Python, и вы будете иметь более четкое представление о том, как его следует реализовать. Вы будете знать, каких ловушек следует избегать, и у вас будет уже правильная реализация, с которой можно будет протестировать и сравнить результаты.
35
ответ дан 18 December 2019 в 05:13
поделиться

Python очень медленно обрабатывает большие объемы нестроковых данных. Для некоторых операций вы можете увидеть, что он в 1000 раз медленнее, чем C / C ++, поэтому да, вам следует изучить это и выполнить необходимые тесты, прежде чем создавать критичные по времени алгоритмы на Python.

Однако вы можете расширить python с помощью модули в коде C / C ++, так что критичные ко времени вещи выполняются быстро, но при этом можно использовать python для основного кода.

11
ответ дан 18 December 2019 в 05:13
поделиться

Заставьте его работать, а затем заставьте его работать быстро.

5
ответ дан 18 December 2019 в 05:13
поделиться

Из вашего описания, скорость не должна вызывать особого беспокойства (и вы можете использовать C, cython, все, что хотите, чтобы сделать это быстрее), но память будет. Для сред с максимальным объемом 64 Мбайт (где ОС и все остальное тоже должны подходить, не так ли?), Я думаю, есть большая вероятность, что python может не быть подходящим инструментом для целевого развертывания.

Если у вас нетривиальная логика handle, я бы все же прототипировал на Python.

0
ответ дан 18 December 2019 в 05:13
поделиться

Если большая часть времени выполнения тратится на библиотеки C, язык, который вы используете для вызова этих библиотек, не имеет значения. На каком языке написаны ваши библиотеки, поедающие время?

1
ответ дан 18 December 2019 в 05:13
поделиться

Я никогда не измерял производительность примеров pyfuzzy, но поскольку новая версия 0.1.0 может читать FCL файлы, как это делает FFLL. Просто опишите свою нечеткую систему в этом формате, напишите несколько оболочек и проверьте производительность обоих вариантов.

Для чтения FCL с помощью pyfuzzy вам понадобится среда выполнения antlr python, но после прочтения вы сможете выделить читаемый объект, поэтому вам не нужны накладные расходы antlr на цель.

0
ответ дан 18 December 2019 в 05:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: