ืืจืืก ืืื ืจ, ืืืืกื ืืืจืืืืงื ืจืืฉื ืฉื LLVM ืืืืฆืจ ืฉืคืช ืืชืื ืืช Swift, ืืืื ืืืืืืก, ืืฉืขืืจ ืจืืฉ ืคืจืืืงืื ืืื ื ืืืืืืชืืช ืฉื ืืืื ืืื Tensorflow ื-JAX, ืืฆืืื ืฉืคืช ืชืื ืืช ืืืฉื, Mojo, ืืืฉืืืช ืงืืืช ืฉืืืืฉ ืืคืืชืื ืืืงืจ ืื ืืืคืืก ืืืืจ ืขื ืคืืื ืฆืืื ืืืืฉ ืืืฆืจื ืงืฆื ืืขืื ืืืฆืืขืื ืืืืืื. ืืจืืฉืื ืืืฉื ืืืืฆืขืืช ืฉืืืืฉ ืืชืืืืจ ืืืืืจ ืฉื ืฉืคืช Python, ืืืฉื ื ืืืืฆืขืืช ืืืืืช ืงืืืคืืืฆืื ืืงืื ืืืื ื, ืื ืื ืื ืื ืืืืืื ืืืืืจืื ืืฉืืืืฉ ืืืื ืืืฆืช ืืืืจื.
ืืคืจืืืงื ืืชืืงื ืืฉืืืืฉ ืืคืืชืื ืืชืืื ืืืืืช ืืืื ื, ืื ืืืฆื ืืฉืคื ืืืืืช ืืืจืืืื ืืช ืืืืืืืช ืฉื Python ืขื ืืื ืชืื ืืช ืืขืจืืืช ืืืชืืืื ืืืืืื ืจืื ืฉื ืืฉืืืืช. ืืืืืื, ืืฉืคื ืืฉืืื ืืชืืืืื ืืื ืืืฉืื ืืขื ืืืฆืืขืื ืืืืืื, ืขืืืื ื ืชืื ืื ืืืจื ืกืคืืจืืฆืื. ืชืืื ื ืืขื ืืื ืช ืฉื Mojo ืืื ืืืืืืช ืืฆืืื ืืช ืชื ืืืืืื'ื "๐ฅ" ืืชืืจ ืืจืืื ืืงืืืฆื ืงืื (ืืืืืื, "helloworld.๐ฅ"), ืื ืืกืฃ ืืกืืืืช ืืืงืกื ".mojo".
ื ืืื ืืืืื, ืืฉืคื ื ืืฆืืช ืืฉืื ืฉื ืคืืชืื ืืื ืื ืกืืื ืืจืง ืืืืฉืง ืืืงืืื ืืืฆืข ืืืืืงื. ืืจืืืืช ื ืคืจืืืช ืืืคืขืื ืืืขืจืืืช ืืงืืืืืช ืืืืืืืช ืืืชืคืจืกื ืืืืฉื, ืืืืจ ืงืืืช ืืฉืื ืขื ืคืขืืืช ืกืืืืช ืืืื ืืจื ื ืืืื ืืจืืงืืืืืช. ืงืื ืืืงืืจ ืฉื ืืืืืจ, JIT ืืคืืชืืืื ื ืืกืคืื ืืงืฉืืจืื ืืคืจืืืงื ืืชืืื ื ืืืืคืชื ืืืืจ ืืฉืืืช ืืืจืืืืงืืืจื ืืคื ืืืืช (ืืืืื ืืคืืชืื ืื ืืืคืืก ืขืืื ืืืืืจื ืืืชืืช ืกืืืจืืช ืืืืืจ ืืช ืืฉืื ืืจืืฉืื ื ืฉื ืืคืืชืื ืฉื LLVM, Clang ื ืึธืึดืืจ). ืืืืืื ืฉืชืืืืจ Mojo ืืืืกืก ืขื ืฉืคืช Python, ืืืขืจืืช ืืืืคืืก ืงืจืืื ื-C/C++, ืืขืชืื ืื ืืชืื ื ืื ืืคืชื ืืืื ืืคืฉื ืืช ืืชืจืืื ืฉื ืคืจืืืงืืื ืงืืืืื ืฉื ืืชืื ื-C/C++ ื-Python ื-Mojo, ืืื ืืคืชื ืคืจืืืงืืื ืืืืจืืืืื ืืฉืืืื ืงืื Python ื-Mojo.
ืืคืจืืืงื ื ืืขื ืืขืจื ืืช ืืฉืืื ืืืืืจื ืืืืื ืื ืฉื ืืขืจืืืช ืืืจืืื ืืืช ืืืืฆืืข ืืืฉืืืื. ืืืืืื, ื ืืชื ืืืฉืชืืฉ ืืืขืืื GPU, ืืืืฆื ืืืืืช ืืืื ื ืืืืืืื ืืืืงืืืจืื ืฉื ืืืจืืืช ืืขืื (SIMD) ืืื ืืืคืขืื ืืืฉืืื Mojo ืืืืงืืื ืืืฉืืืื. ืืกืืืืช ืื ืืชื ืืช ืืคืืชืื ืชืช-ืงืืืฆื ื ืคืจืืช ืฉื ืฉืคืช Python ืืืงืื ืืืฆืืจืฃ ืืขืืืืช ืืืืคืืืืืืฆืื ืืงืืืืช ืฉื CPython ืืืืืืช ืืชืืงืืืช ืืืืืืจ, ืืื ืืืจืฆืื ืฉื ืืืืืืช ืชืื ืืช ืืขืจืืช ืืฉืืืืฉ ืืืจืืืืงืืืจื ืคื ืืืืช ืฉืื ื ืืืืชืืช ืืืืคืฉืจืช ืืจืืฅ ืงืื ืขื ืืขืืื GPU ืืขืื. ืืืืฆื ืืืืจื. ืขื ืืืช, ืืคืชืื Mojo ืืชืืืื ืื ืืืืฉืืจ ืชืืืืื ื-CPython ืืื ืืืคืฉืจ.
ื ืืชื ืืืฉืชืืฉ ื-Mojo ืื ืืืฆื ืคืจืฉื ืืช ืืืืฆืขืืช JIT, ืืื ืืืืืืจ ืืงืืฆื ืืคืขืื (AOT, ืืืขืื ืืืขื). ืืืืืจ ืืืื ืืื ืืืืืืืช ืืืืจื ืืืช ืืืื ืืช ืืืืคืืืืืืฆืื ืืืืืืืืช, ืฉืืืจื ืืืืืื ืืืืืืจ ืืืืืจ. ืืงืกืื ืืงืืจ ืืฉืคืช Mojo ืืืืจืื ืืงืื ืืื ืืื ืืจืื ื ืืืื MLIR (Multi-Level Intermediate Representation), ืฉืคืืชื ืขื ืืื ืคืจืืืงื LLVM ืืืกืคืง ืืืืืืช ื ืืกืคืืช ืืืืคืืืืืืฆืื ืฉื ืืขืืืื ืฉื ืืจืฃ ืืจืืืช ืื ืชืื ืื. ืืืืืจ ืืืคืฉืจ ืื ืืืฉืชืืฉ ื-backends ืฉืื ืื ืืชืืืืื ื-MLIR ืืื ืืืฆืืจ ืงืื ืืืื ื.
ืฉืืืืฉ ืืื ืื ืื ื ืืืืจื ื ืืกืคืื ืืืืฆืช ืืืฉืืืื ืืืคืฉืจ ืืืฉืื ืืืฆืืขืื ืขืืืคืื ืขื ืืืฉืืื C/C++ ืืืืื ืืืฉืืืื ืืื ืื ืกืืืืื. ืืืืืื, ืืขืช ืืืืงืช ืืคืืืงืฆืื ืืืคืงืช ืขืจืืช ืื ืืืืจืื, ืืืฉืื ืงืืืคืืื ืืฉืคืช Mojo ืืขืช ืืืฆืืข ืืขื ื AWS (r7iz.metal-16xl) ืืชืืจืจ ืืืืืจืืช ืคื 6 ืืืืืฉืื ื-C++ (0.03 ืฉื ืืืช ืืขืืืช 0.20 ืฉื ืืืช. 35 ืฉื ืืืช), ืืื ืคื 3.10.9 ืืืฃ ืืืืจ ืืืชืจ ืืืคืืืงืฆืืืช Python ืืขืช ืฉืืืืฉ ื-CPython 0.03 ืืกืื ืืจืื (1027 ืฉื ืืืช ืืขืืืช 1500 ืฉื ืืืช) ืืคื 0.03 ืืืจ ืืืชืจ ืืฉืืืืฉ ื-PYPY (46.1 ืฉื ืืืช ืืขืืืช XNUMX ืฉื ืืืช) .
ืืขืช ืืขืจืืช ืืืฆืืขืื ืืชืืื ืคืชืจืื ืืขืืืช ืืืืืช ืืืื ื, ืื ืืข ื-AI-Stack Modular Inference Engine, ืฉื ืืชื ืืฉืคืช Mojo, ืืืฉืืืื ืืคืชืจืื ืืืืืกืก ืขื ืกืคืจืืืช TensorFlow, ืืื ืืืืจ ืคื 3 ืืขืช ืขืืืื ืืืื ืฉืคื ืืืขืจืืช ืขื ืืขืื ืืื ืื, ืืืืจ ืคื 6.4 ืืขืช ืขืืืื ืืืฆืืข ืืืื ืืฆืืจืช ืืืืืฆืืช ืืคื 2.1 ืืืืจ ืืืชืจ ืืขืืืื ืขื ืืืืืื ืืขืืืื ืืืืข ืืืืชื. ืืฉืืืืฉ ืืืขืืื AMD, ืืจืืืืื ืืฉืืืืฉ ื-Mojo ืืื ืคื 3.2, 5 ื-2.2, ืืืฉืืืืฉ ืืืขืืื ARM - ืคื 5.3, 7.5 ื-1.7, ืืืชืืื. ืืคืชืจืื ืืืืกืก PyTorch ืคืืืจ ืืืจื Mojo ืคื 1.4, 1.1 ื-1.5 ืืืขืืื ืืื ืื, ืคื 2.1, 1.2 ื-1.5 ืืืขืืื AMD ืืคื 4, 4.3 ื-1.3 ืืืขืืื ARM.
ืืฉืคื ืชืืืืช ืืืงืืื ืกืืืืช ืืืชืืื ืืช ืืืืืืช ืืืืืจืื ืืจืื ื ืืืื ืืืืืืจืืช ืืช ื-Rust, ืืืื ืืขืงื ืืืจ ืื ืืืืื ืืืืืงืช ืืืฉืืื. ืื ืืกืฃ ืืืชืงื ืื ืืขืืืื ืืืืื ืขื ืืฆืืืขืื, ืืฉืคื ืืกืคืงืช ืื ืชืืื ืืช ืืขืืืื ืืจืื ื ืืืื, ืืืฉื, ืืืฉื ืืฉืืจื ืืืืืจืื ืืืฆื ืื ืืืื ืืืืฆืขืืช ืกืื Pointer, ืงืจืืื ืืืืจืืืช SIMD ืืืืืืช ืื ืืืฉื ืืืจืืืืช ืืืืจื ืืืื TensorCores ื- AMX .
ืืื ืืคืฉื ืืช ืืืคืจืื ืืื ืงืื Python ืืงืืืกื ืืืืื ืขืืืจ ืคืื ืงืฆืืืช ืขื ืืืืจืืช ืกืื ืืคืืจืฉ ืขืืืจ ืื ืืืฉืชื ืื, ืืืฆืข ืืืฉืชืืฉ ืืืืืช ืืคืชื ื ืคืจืืช "fn" ืืืงืื "def". ืืืืคื ืืืื ืขืืืจ ืืืืงืืช, ืื ืืชื ืฆืจืื ืืืจืื ื ืชืื ืื ืกืืืืื ืืืืืจืื ืืืืื ืืืืืืจ (ืืื ื-C), ืืชื ืืืื ืืืฉืชืืฉ ืืกืื "struct" ืืืงืื "ืืืืงื". ืืคืฉืจ ืื ืคืฉืื ืืืืื ืืืืืืื ืืฉืคืืช C/C++, ืืืืืื, ืืื ืืืืื ืืช ืคืื ืงืฆืืืช cos ืืกืคืจืืืช ืืืชืืืืงื, ื ืืชื ืืฆืืื "ื-"math.h" import cos.
ืืงืืจ: OpenNet.ru