Mojo — компилируемый язык с синтаксисом Python и скоростью C. Создан для ML, численных вычислений и высокопроизводительного кода.
Теперь Python умеет напрямую вызывать Mojo-функции — и это меняет игру.
1. Установка:
uv pip install modular --index-url https://dl.modular.com/public/nightly/python/simple/
2. Mojo-функция:
fn factorial(py_obj: PythonObject) raises -> PythonObject:
var n = Int(py_obj)
var result = 1
for i in range(1, n + 1):
result *= i
return result
3. Вызов из Python:
import mojo_module
print(mojo_module.factorial(10))
На
factorial(10)
разница небольшая.Но при подсчёте простых чисел до 20 000:
— Python: \~0.45 сек
— NumPy: \~0.26 сек
— Mojo: \~0.01 сек (!)
При больших числах (
factorial(100)
) возможны переполнения — тип Int
ограничен. Также Mojo всё ещё в стадии активной разработки.Библиотека питониста #буст