This PR updates a lot of the dependencies to their latest version.
Honorable mentions are:
quick-xml has changed its API a bit, so the way escaping and decoding works has changed.
logos no longer has #[error] but instead the lexer returns Result<Token, ()>. Usages of the lexers has been updated to this new style.
base64 no longer has top-level encode/decode functions, as one now has to explicitly select which Engine to use.
torch-sys was not used directly and can be removed from the dependency list. It is, however, still in the dependency tree as a part of tch. If this breaks something we should add it back, but no problems seem to appear.
I've held back on updating safetensors, tch, and tokenizers as I'm not confident in testing whether updating these cause issues or not. Other than those three crates, everything should be up-to-date!
This was done as an attempt to reduce compile times, and as a huge success (/s) I can confirm that this reduces the number of LLVM lines generated by 4056, which equates to a 0.30983876% decrease!
Benchmarking incremental build times, where only core/src/lib.rs changes, we see little to no difference:
git switch main && cargo build -p stract --bin stract
Time (mean ± σ): 7.700 s ± 0.081 s [User: 7.090 s, System: 1.918 s]
Range (min … max): 7.569 s … 7.855 s 10 runs
git switch update-deps && cargo build -p stract --bin stract
Time (mean ± σ): 7.837 s ± 0.145 s [User: 7.301 s, System: 1.948 s]
Range (min … max): 7.706 s … 8.149 s 10 runs
Summary
'git switch main && cargo build -p stract --bin stract' ran
1.02 ± 0.02 times faster than 'git switch update-deps && cargo build -p stract --bin stract'
This PR updates a lot of the dependencies to their latest version.
Honorable mentions are:
quick-xml
has changed its API a bit, so the way escaping and decoding works has changed.logos
no longer has#[error]
but instead the lexer returnsResult<Token, ()>
. Usages of the lexers has been updated to this new style.base64
no longer has top-levelencode
/decode
functions, as one now has to explicitly select whichEngine
to use.torch-sys
was not used directly and can be removed from the dependency list. It is, however, still in the dependency tree as a part oftch
. If this breaks something we should add it back, but no problems seem to appear.scylla
I encountered a weird issue, so we temporarily use a fork. A fix has been merged (https://github.com/scylladb/scylla-rust-driver/pull/838) so now we are waiting for a new release. For more details see https://github.com/rkyv/rkyv/issues/434.I've held back on updating
safetensors
,tch
, andtokenizers
as I'm not confident in testing whether updating these cause issues or not. Other than those three crates, everything should be up-to-date!This was done as an attempt to reduce compile times, and as a huge success (/s) I can confirm that this reduces the number of LLVM lines generated by 4056, which equates to a 0.30983876% decrease!
Benchmarking incremental build times, where only
core/src/lib.rs
changes, we see little to no difference: