GitHunt
KI

kislenko-artem/python_ray_tracing

Трассировка лучей по статье (без отражения)

  • Чистый python: ~8 секунд\кадр
  • Numba: от 12 сек, до 16 - смотря, что оборачивать,
    если код оптимизировать - 0.65 сек, первый запуск ~2.8. При этом сами рассчеты занимают ~0.09 сек (в многопоточном режиме неожиданно больше)
  • Cython: ~ 6 сек (почти неоптимизированная)

Выводы:

Взять написать в питоновском стиле, а потом применить numba/cython - не получится.
Чтобы написать быстрый код, нужно:

  • для cython - писать как на C - тогда не проще писать ли сразу на компилируемых языках?
  • для numba - нужно избегать всех питоновских объектов, что сказывается на читабельности кода

Languages

Python100.0%

Contributors

Created March 28, 2021
Updated March 30, 2021