Skip to content

Releases v4 - moves from Numba to Rust

Compare
Choose a tag to compare
@songololo songololo released this 15 Aug 21:18
· 212 commits to master since this release

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 use Numba 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.