Skip to content

Conversation

@PSeitz
Copy link
Collaborator

@PSeitz PSeitz commented Nov 5, 2024

box warp routes to avoid super heavy types.
Performance impact should be okay, since these heavy types
are not cache friendly.

This reduces type complexity significantly, but some really long type chains remain.
I've identified two, but they may be more

  1. Boxed or chains
  2. Response type chains

We can replace the boxed or chains with a Vec, since they all contain the same
box type now. Such a type doesn't seem to exist in warp yet.

cargo install --path .
Compile time before
4m49s
Compile time now
4m14s

Tool to list heavy functions:
CARGO_PROFILE_RELEASE_LTO=fat cargo llvm-lines --release --bin quickwit > llvm_lines
Size down from 32MB to 22MB

update rust tool chain to 1.81 to fix compilation error (servo/rust-url#992)

addresses #5539

@PSeitz PSeitz force-pushed the warp_types branch 2 times, most recently from 7f76b61 to 3cb9ffe Compare November 5, 2024 05:08
box warp routes to avoid super heavy types.
Performance impact should be okay, since these heavy types
are not cache friendly.

This reduces type complexity significantly, but some really long type chains remain.

I've identified two, but they may be more
1. Boxed or chains
2. Response type chains

We can replace the boxed or chains with a Vec, since they all contain the same
box type now. Such a type doesn't seem to exist in warp yet.

`cargo install --path .`
Compile time before
4m49s
Compile time now
4m14s

Tool to list heavy functions:
`
CARGO_PROFILE_RELEASE_LTO=fat cargo llvm-lines --release --bin quickwit > llvm_lines
`
Size down from 32MB to 22MB

addresses #5539
@fulmicoton
Copy link
Collaborator

nice!

@PSeitz PSeitz merged commit e590855 into main Nov 5, 2024
3 of 4 checks passed
@PSeitz PSeitz deleted the warp_types branch November 5, 2024 06:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants