Skip to content

Latest commit

 

History

History

Rust

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Rust implementation of Tracker Commons

Rust is a hybrid high-level/low-level language with advanced compile-time checking to ensure an absence of the kinds of errors that usually plague traditional low-level languages such as C.

Implementation notes

Rust is reported to have an extremely fast parser combinator library, nom, which should mean that parsing can be extremely fast without having to push characters around by hand.

It also has built-in JSON support in its rustc-serialize library. May wish to test whether hand-rolled JSON support is faster or slower than a nom parser. Also, need to test whether rustc-serialize will do sane things with floating-point values (i.e. produce JSON, not something that looks like JSON but has junk in it).

Rust also has a workable Foreign Function Interface (FFI) system to generate C bindings. Thus, the Rust implementation could be the back-end for other implementations (e.g. R) that may be slower. It could also be the back-end to a C or C++ implementation, but would provide stronger guarantees about safety than hand-written C.