List view
The goal of this milestone is to track the release of `v0.1.0`, as of commit `af86df6ef99ee67871d62c6a1d8b8cab5df16535` I have an one to one compatible implementation with [1], [2] and [3] the latter with caveats; unfortunately since I went for compatibility above all the code is not very idiomatic and performance is rubbish, it reads like Java instead of Rust so for the initial release I have three items I aim to focus on: 1. Correctness: I already wrote a Java patch that adds code to [1] to dump small scale factor datasets that are used for integration tests, there is also a tracking issue that aims to get as much coverage as possible with unit tests. 2. Code Quality: The code is extremely verbose and doesn't leverage Rust idioms a few that come to mind are the random number generation routine which are essentially the same and can be statically dispatched to a single trait, same goes for handling large scale factors (greater than 30000). 3. Performance: Currently we clone a lot of stuff everywhere and since `TextPool` for example is a 300MB container memory usage is also very high, some low hanging fruits to tackle here are using `once_cell` to do single initialization (maybe try and get `const fn` working for some things) and also try and keep the generators oblivious of the distributions and text pool so we can do multi-threaded generation at a lower cost.
Due by March 31, 2025•23/23 issues closed