Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: add rust-toolchain.toml and Renovate job to keep it updated #4850

Merged
merged 7 commits into from May 9, 2024

Conversation

laplab
Copy link
Contributor

@laplab laplab commented May 3, 2024

No description provided.

@laplab laplab requested a review from a team as a code owner May 3, 2024 16:18
@laplab laplab requested review from Druue and removed request for a team May 3, 2024 16:18
rust-toolchain.toml Outdated Show resolved Hide resolved
@SevInf
Copy link
Contributor

SevInf commented May 3, 2024

I think GH actions still use stable toolchain and ignore rust-toolchain.toml

Copy link

codspeed-hq bot commented May 3, 2024

CodSpeed Performance Report

Merging #4850 will improve performances by 15.34%

Comparing chore/rust-toolchain-and-renovate (6828638) with main (56ca112)

Summary

⚡ 3 improvements
✅ 8 untouched benchmarks

Benchmarks breakdown

Benchmark main chore/rust-toolchain-and-renovate Change
validate (large) 357.6 ms 310 ms +15.34%
validate (medium) 77.9 ms 67.7 ms +15.02%
validate (small) 11 ms 9.5 ms +15.08%

Copy link
Contributor

github-actions bot commented May 6, 2024

WASM Query Engine file Size

Engine This PR Base branch Diff
Postgres 2.152MiB 2.152MiB 0.000B
Postgres (gzip) 845.856KiB 845.855KiB 1.000B
Mysql 2.123MiB 2.123MiB 0.000B
Mysql (gzip) 832.881KiB 832.881KiB 0.000B
Sqlite 2.016MiB 2.016MiB 0.000B
Sqlite (gzip) 793.209KiB 793.210KiB -1.000B

Copy link
Contributor

github-actions bot commented May 6, 2024

✅ WASM query-engine performance won't change substantially (1.004x)

Full benchmark report
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/bench?schema=imdb_bench&sslmode=disable" \
node --experimental-wasm-modules query-engine/driver-adapters/executor/dist/bench.mjs
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
cpu: AMD EPYC 7763 64-Core Processor
runtime: node v18.20.2 (x64-linux)

benchmark                   time (avg)             (min … max)       p75       p99      p999
-------------------------------------------------------------- -----------------------------
• movies.findMany() (all - ~50K)
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline     368 ms/iter       (365 ms … 374 ms)    369 ms    374 ms    374 ms
Web Assembly: Latest       451 ms/iter       (450 ms … 454 ms)    452 ms    454 ms    454 ms
Web Assembly: Current      453 ms/iter       (452 ms … 454 ms)    453 ms    454 ms    454 ms
Node API: Current          196 ms/iter       (194 ms … 199 ms)    197 ms    199 ms    199 ms

summary for movies.findMany() (all - ~50K)
  Web Assembly: Current
   2.31x slower than Node API: Current
   1.23x slower than Web Assembly: Baseline
   1x faster than Web Assembly: Latest

• movies.findMany({ take: 2000 })
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline  14'880 µs/iter (14'591 µs … 18'321 µs) 14'794 µs 18'321 µs 18'321 µs
Web Assembly: Latest    18'169 µs/iter (18'010 µs … 18'497 µs) 18'194 µs 18'497 µs 18'497 µs
Web Assembly: Current   18'256 µs/iter (18'020 µs … 20'106 µs) 18'269 µs 20'106 µs 20'106 µs
Node API: Current        8'115 µs/iter   (7'925 µs … 8'823 µs)  8'185 µs  8'823 µs  8'823 µs

summary for movies.findMany({ take: 2000 })
  Web Assembly: Current
   2.25x slower than Node API: Current
   1.23x slower than Web Assembly: Baseline
   1x faster than Web Assembly: Latest

• movies.findMany({ where: {...}, take: 2000 })
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline   2'305 µs/iter   (2'181 µs … 3'393 µs)  2'289 µs  3'246 µs  3'393 µs
Web Assembly: Latest     2'866 µs/iter   (2'761 µs … 3'658 µs)  2'851 µs  3'425 µs  3'658 µs
Web Assembly: Current    2'885 µs/iter   (2'769 µs … 4'176 µs)  2'872 µs  3'558 µs  4'176 µs
Node API: Current        1'393 µs/iter   (1'331 µs … 1'655 µs)  1'407 µs  1'602 µs  1'655 µs

summary for movies.findMany({ where: {...}, take: 2000 })
  Web Assembly: Current
   2.07x slower than Node API: Current
   1.25x slower than Web Assembly: Baseline
   1.01x slower than Web Assembly: Latest

• movies.findMany({ include: { cast: true } take: 2000 }) (m2m)
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline     568 ms/iter       (561 ms … 593 ms)    568 ms    593 ms    593 ms
Web Assembly: Latest       769 ms/iter       (764 ms … 780 ms)    773 ms    780 ms    780 ms
Web Assembly: Current      779 ms/iter       (769 ms … 796 ms)    796 ms    796 ms    796 ms
Node API: Current          473 ms/iter       (457 ms … 488 ms)    485 ms    488 ms    488 ms

summary for movies.findMany({ include: { cast: true } take: 2000 }) (m2m)
  Web Assembly: Current
   1.65x slower than Node API: Current
   1.37x slower than Web Assembly: Baseline
   1.01x slower than Web Assembly: Latest

• movies.findMany({ where: {...}, include: { cast: true } take: 2000 }) (m2m)
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline  81'436 µs/iter (79'894 µs … 85'673 µs) 82'535 µs 85'673 µs 85'673 µs
Web Assembly: Latest       109 ms/iter       (108 ms … 113 ms)    111 ms    113 ms    113 ms
Web Assembly: Current      108 ms/iter       (108 ms … 109 ms)    109 ms    109 ms    109 ms
Node API: Current       61'219 µs/iter (60'571 µs … 61'805 µs) 61'624 µs 61'805 µs 61'805 µs

summary for movies.findMany({ where: {...}, include: { cast: true } take: 2000 }) (m2m)
  Web Assembly: Current
   1.77x slower than Node API: Current
   1.33x slower than Web Assembly: Baseline
   1.01x faster than Web Assembly: Latest

• movies.findMany({ take: 2000, include: { cast: { include: { person: true } } } })
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline   1'020 ms/iter   (1'014 ms … 1'031 ms)  1'026 ms  1'031 ms  1'031 ms
Web Assembly: Latest     1'305 ms/iter   (1'286 ms … 1'320 ms)  1'320 ms  1'320 ms  1'320 ms
Web Assembly: Current    1'296 ms/iter   (1'289 ms … 1'307 ms)  1'302 ms  1'307 ms  1'307 ms
Node API: Current          884 ms/iter       (865 ms … 904 ms)    899 ms    904 ms    904 ms

summary for movies.findMany({ take: 2000, include: { cast: { include: { person: true } } } })
  Web Assembly: Current
   1.47x slower than Node API: Current
   1.27x slower than Web Assembly: Baseline
   1.01x faster than Web Assembly: Latest

• movie.findMany({ where: { ... }, take: 2000, include: { cast: { include: { person: true } } } })
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline     143 ms/iter       (143 ms … 144 ms)    144 ms    144 ms    144 ms
Web Assembly: Latest       179 ms/iter       (178 ms … 180 ms)    179 ms    180 ms    180 ms
Web Assembly: Current      179 ms/iter       (178 ms … 181 ms)    179 ms    181 ms    181 ms
Node API: Current          104 ms/iter       (102 ms … 108 ms)    105 ms    108 ms    108 ms

summary for movie.findMany({ where: { ... }, take: 2000, include: { cast: { include: { person: true } } } })
  Web Assembly: Current
   1.72x slower than Node API: Current
   1.25x slower than Web Assembly: Baseline
   1x faster than Web Assembly: Latest

• movie.findMany({ where: { reviews: { author: { ... } }, take: 100 }) (to-many -> to-one)
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline   1'021 µs/iter     (974 µs … 1'687 µs)  1'020 µs  1'479 µs  1'687 µs
Web Assembly: Latest     1'361 µs/iter   (1'293 µs … 2'178 µs)  1'357 µs  1'818 µs  2'178 µs
Web Assembly: Current    1'379 µs/iter   (1'308 µs … 1'929 µs)  1'375 µs  1'814 µs  1'929 µs
Node API: Current          747 µs/iter       (701 µs … 991 µs)    769 µs    870 µs    991 µs

summary for movie.findMany({ where: { reviews: { author: { ... } }, take: 100 }) (to-many -> to-one)
  Web Assembly: Current
   1.85x slower than Node API: Current
   1.35x slower than Web Assembly: Baseline
   1.01x slower than Web Assembly: Latest

• movie.findMany({ where: { cast: { person: { ... } }, take: 100 }) (m2m -> to-one)
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline   1'022 µs/iter     (974 µs … 1'709 µs)  1'021 µs  1'602 µs  1'709 µs
Web Assembly: Latest     1'384 µs/iter   (1'298 µs … 2'569 µs)  1'364 µs  2'298 µs  2'569 µs
Web Assembly: Current    1'427 µs/iter   (1'309 µs … 2'620 µs)  1'377 µs  2'551 µs  2'620 µs
Node API: Current          753 µs/iter     (706 µs … 1'012 µs)    788 µs    848 µs  1'012 µs

summary for movie.findMany({ where: { cast: { person: { ... } }, take: 100 }) (m2m -> to-one)
  Web Assembly: Current
   1.89x slower than Node API: Current
   1.4x slower than Web Assembly: Baseline
   1.03x slower than Web Assembly: Latest

After changes in 6828638

@@ -0,0 +1,13 @@
[toolchain]
channel = "1.77.0"
Copy link
Contributor Author

@laplab laplab May 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is intentionally one version older than the most recent stable version to check that Renovate works and creates a new PR to update the version.

@laplab laplab force-pushed the chore/rust-toolchain-and-renovate branch from 008ca61 to 994ceda Compare May 8, 2024 12:03
@laplab laplab added this to the 5.14.0 milestone May 8, 2024
@laplab laplab merged commit f561446 into main May 9, 2024
204 of 205 checks passed
@laplab laplab deleted the chore/rust-toolchain-and-renovate branch May 9, 2024 12:04
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.

None yet

2 participants