Это вариант использования Pypy? - PullRequest
0 голосов
/ 24 сентября 2018

Я работаю над приложением с несколькими вложенными циклами не векторизованного кода.Есть группа из около 50 функций, которые вызываются сотни или тысячи раз.Эти функции получают словари и передают словари обратно.Каждая функция очень короткая, каждая с простым числовым кодом, поэтому простая компиляция функций не принесет много пользы.Я думаю, что мне нужно скомпилировать оба цикла с функциями.Cython может работать, но меня беспокоит объем работ по поддержанию объявлений типов во многих функциях, а также отсутствие значительных улучшений из-за передачи всех этих словарей.Мне было интересно, если это хороший вариант использования PyPy.Там нет NumPy или C расширения.Просто простые функции, считывающие входные данные из словаря и обновляющие эти словари.

Я прочитал документацию для PyPy, где говорится, что PyPy не будет улучшать кратковременные процессы.Мне интересно, помешают ли эти кратковременные функции JIT-компилятору улучшить время выполнения.

Что вы думаете?Любой опыт с pypy на что-то подобное приветствуется.

Спасибо!

1 Ответ

0 голосов
/ 25 сентября 2018

Термин «кратковременный» относится к количеству выполненного кода, а не к времени настенных часов.JIT отслеживает выполнение кода и запускается только тогда, когда он видит фрагмент кода, повторяющийся ~ 1000 раз.

...