Releases v4 - moves from Numba to Rust
Cityseer's underlying internals have been reimplemented in rust, therefore removing the reliance on Numba
.
This offers several improvements:
- Better performance
- Unlike
Numba
there is no need for the underlying code to compile on first run - Fewer issues related to
Numba
release cycles, which tended to lag official Python releases and sometimes introduced unexpected behaviour. Numba
forced some difficult design patterns due to not being able to useNumba
classes for parallelised code, and otherwise a reliance on numpy arrays which had to be passed around from function to function. The rust version offers more elegant approaches to handling and sharing data structures.
The higher level API is similar, though in has been simplified in several situations. Please see the API docs for more information.