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: upgrade to Docker Compose v2 #4836

Merged
merged 2 commits into from Apr 30, 2024
Merged

chore: upgrade to Docker Compose v2 #4836

merged 2 commits into from Apr 30, 2024

Conversation

@Jolg42 Jolg42 added this to the 5.14.0 milestone Apr 24, 2024
@Jolg42 Jolg42 requested a review from a team as a code owner April 24, 2024 07:20
@Jolg42 Jolg42 requested review from Druue and removed request for a team April 24, 2024 07:20
Copy link
Contributor

github-actions bot commented Apr 24, 2024

WASM Query Engine file Size

Engine This PR Base branch Diff
Postgres 2.130MiB 2.130MiB 0.000B
Postgres (gzip) 838.792KiB 838.791KiB 1.000B
Mysql 2.098MiB 2.098MiB 0.000B
Mysql (gzip) 825.528KiB 825.525KiB 3.000B
Sqlite 1.991MiB 1.991MiB 0.000B
Sqlite (gzip) 785.919KiB 785.918KiB 1.000B

Copy link

codspeed-hq bot commented Apr 24, 2024

CodSpeed Performance Report

Merging #4836 will not alter performance

Comparing joel/docker-compose-v2 (04470fd) with main (5d2f494)

Summary

✅ 11 untouched benchmarks

Copy link
Contributor

github-actions bot commented Apr 24, 2024

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

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     362 ms/iter       (359 ms … 368 ms)    367 ms    368 ms    368 ms
Web Assembly: Latest       452 ms/iter       (445 ms … 469 ms)    457 ms    469 ms    469 ms
Web Assembly: Current      447 ms/iter       (445 ms … 452 ms)    451 ms    452 ms    452 ms
Node API: Current          200 ms/iter       (194 ms … 206 ms)    203 ms    206 ms    206 ms

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

• movies.findMany({ take: 2000 })
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline  14'791 µs/iter (14'606 µs … 16'725 µs) 14'749 µs 16'725 µs 16'725 µs
Web Assembly: Latest    18'839 µs/iter (18'160 µs … 27'558 µs) 18'501 µs 27'558 µs 27'558 µs
Web Assembly: Current   18'253 µs/iter (18'130 µs … 18'592 µs) 18'264 µs 18'592 µs 18'592 µs
Node API: Current        7'992 µs/iter   (7'806 µs … 8'359 µs)  8'036 µs  8'359 µs  8'359 µs

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

• movies.findMany({ where: {...}, take: 2000 })
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline   2'330 µs/iter   (2'198 µs … 3'525 µs)  2'333 µs  3'477 µs  3'525 µs
Web Assembly: Latest     2'881 µs/iter   (2'757 µs … 4'774 µs)  2'848 µs  3'879 µs  4'774 µs
Web Assembly: Current    2'873 µs/iter   (2'763 µs … 3'703 µs)  2'871 µs  3'498 µs  3'703 µs
Node API: Current        1'403 µs/iter   (1'299 µs … 1'995 µs)  1'413 µs  1'654 µs  1'995 µs

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

• movies.findMany({ include: { cast: true } take: 2000 }) (m2m)
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline     560 ms/iter       (552 ms … 575 ms)    571 ms    575 ms    575 ms
Web Assembly: Latest       772 ms/iter       (769 ms … 781 ms)    776 ms    781 ms    781 ms
Web Assembly: Current      780 ms/iter       (775 ms … 794 ms)    789 ms    794 ms    794 ms
Node API: Current          464 ms/iter       (452 ms … 484 ms)    477 ms    484 ms    484 ms

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

• movies.findMany({ where: {...}, include: { cast: true } take: 2000 }) (m2m)
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline  77'604 µs/iter (77'376 µs … 77'882 µs) 77'800 µs 77'882 µs 77'882 µs
Web Assembly: Latest       109 ms/iter       (109 ms … 109 ms)    109 ms    109 ms    109 ms
Web Assembly: Current      110 ms/iter       (110 ms … 111 ms)    110 ms    111 ms    111 ms
Node API: Current       61'656 µs/iter (60'854 µs … 64'966 µs) 61'598 µs 64'966 µs 64'966 µs

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

• movies.findMany({ take: 2000, include: { cast: { include: { person: true } } } })
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline     993 ms/iter     (984 ms … 1'015 ms)  1'000 ms  1'015 ms  1'015 ms
Web Assembly: Latest     1'294 ms/iter   (1'278 ms … 1'320 ms)  1'319 ms  1'320 ms  1'320 ms
Web Assembly: Current    1'300 ms/iter   (1'289 ms … 1'316 ms)  1'313 ms  1'316 ms  1'316 ms
Node API: Current          861 ms/iter       (834 ms … 914 ms)    899 ms    914 ms    914 ms

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

• movie.findMany({ where: { ... }, take: 2000, include: { cast: { include: { person: true } } } })
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline     139 ms/iter       (138 ms … 140 ms)    139 ms    140 ms    140 ms
Web Assembly: Latest       179 ms/iter       (178 ms … 179 ms)    179 ms    179 ms    179 ms
Web Assembly: Current      181 ms/iter       (180 ms … 186 ms)    181 ms    186 ms    186 ms
Node API: Current          105 ms/iter       (103 ms … 107 ms)    107 ms    107 ms    107 ms

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

• movie.findMany({ where: { reviews: { author: { ... } }, take: 100 }) (to-many -> to-one)
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline   1'046 µs/iter     (978 µs … 1'787 µs)  1'033 µs  1'672 µs  1'787 µs
Web Assembly: Latest     1'396 µs/iter   (1'290 µs … 2'277 µs)  1'369 µs  2'135 µs  2'277 µs
Web Assembly: Current    1'375 µs/iter   (1'299 µs … 2'154 µs)  1'368 µs  1'928 µs  2'154 µs
Node API: Current          750 µs/iter       (707 µs … 915 µs)    781 µs    825 µs    915 µs

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

• movie.findMany({ where: { cast: { person: { ... } }, take: 100 }) (m2m -> to-one)
-------------------------------------------------------------- -----------------------------
Web Assembly: Baseline   1'019 µs/iter     (978 µs … 1'759 µs)  1'024 µs  1'382 µs  1'759 µs
Web Assembly: Latest     1'379 µs/iter   (1'299 µs … 2'174 µs)  1'365 µs  2'081 µs  2'174 µs
Web Assembly: Current    1'372 µs/iter   (1'303 µs … 1'988 µs)  1'370 µs  1'746 µs  1'988 µs
Node API: Current          784 µs/iter       (749 µs … 928 µs)    799 µs    835 µs    928 µs

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

After changes in 04470fd

@Jolg42 Jolg42 requested a review from Weakky April 25, 2024 08:05
@Jolg42 Jolg42 merged commit d3ec637 into main Apr 30, 2024
208 checks passed
@Jolg42 Jolg42 deleted the joel/docker-compose-v2 branch April 30, 2024 15:19
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

1 participant