Skip to content
Snippets Groups Projects
  • Raphaël Gomès's avatar
    7346f93be7a4
    revlog: add the glue to use the Rust `InnerRevlog` from Python · 7346f93be7a4
    Raphaël Gomès authored
    The performance of this has been looked at for quite some time, and some
    workflows are actually quite a bit faster than with the Python + C code.
    
    However, we are still (up to 20%) slower in some crucial places like cloning
    certain repos, log, cat, which makes this an incomplete rewrite. This is
    mostly due to the high amount of overhead in Python <-> Rust FFI, especially
    around the VFS code. A future patch series will rewrite the VFS code in
    pure Rust, which should hopefully get us up to par with current perfomance,
    if not better in all important cases.
    
    This is a "save state" of sorts, as this is a ton of code, and I don't want
    to pile up even more things in a single review.
    
    Continuing to try to match the current performance will take an extremely
    long time, if it's not impossible, without the aforementioned VFS work.
    7346f93be7a4
    History
    revlog: add the glue to use the Rust `InnerRevlog` from Python
    Raphaël Gomès authored
    The performance of this has been looked at for quite some time, and some
    workflows are actually quite a bit faster than with the Python + C code.
    
    However, we are still (up to 20%) slower in some crucial places like cloning
    certain repos, log, cat, which makes this an incomplete rewrite. This is
    mostly due to the high amount of overhead in Python <-> Rust FFI, especially
    around the VFS code. A future patch series will rewrite the VFS code in
    pure Rust, which should hopefully get us up to par with current perfomance,
    if not better in all important cases.
    
    This is a "save state" of sorts, as this is a ton of code, and I don't want
    to pile up even more things in a single review.
    
    Continuing to try to match the current performance will take an extremely
    long time, if it's not impossible, without the aforementioned VFS work.