nautechsystems / nautilus_trader

A high-performance algorithmic trading platform and event-driven backtester
https://nautilustrader.io
GNU Lesser General Public License v3.0
2.21k stars 506 forks source link

This is a great work! Is it possible to create a branch for Rust? #2074

Closed MrHat365 closed 20 hours ago

MrHat365 commented 1 day ago

Feature Request

Improving Python's performance using PyO3 is an effective solution, but the language's inherent performance limitations are challenging to address fundamentally.

The community's increasing adoption of Rust highlights its potential as a complementary or even alternative solution to Python in performance-critical scenarios.

To better serve users with higher performance requirements, creating an independent Rust-based branch could be a viable approach. This branch would allow for more focused maintenance and updates, catering specifically to performance-sensitive applications.

The current ecosystem, while powerful, is becoming increasingly complex and challenging to use, especially for developers seeking streamlined performance optimizations.

cjdsellers commented 20 hours ago

Hi @MrHat365

Thank you for your interest and kind words!

We're actively working towards making the platform capable of running entirely "in Rust", although there will always be a Python API. This will certainly offer superior performance over Python, and for those users who prefer not to use any Python there is a python feature flag available for all relevant crates (on by default right now to support the main nautilus_trader package).

So we're essentially already working towards your suggestion, at a certain point there will likely be a branch which moves ahead of the current develop branch, with a major reorganization to support a v2 with no Cython (which will then become the main develop branch), this is TBD however.

So in light of the above - closing this for now. If you're interested, we make release announcements in the Discord server with updates on where the Rust port is up to.