Replies: 2 comments 8 replies
-
I want to attach the profiler to the command. What are |
Beta Was this translation helpful? Give feedback.
1 reply
-
I think we need a benchmark that is more reliable. |
Beta Was this translation helpful? Give feedback.
7 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Scope
This discussion is centered around the frozen-lockfile feature of pacquet only. It is well known that pacquet algorithm without lockfile is not good enough, but we are not focusing on that.
Problem
It is easy to see that pacquet algorithm is not parallelized to the fullest, as there are many points where unrelated IO/network operations still happen in serial order. Yet, when I try to parallelize it either by using
rayon
ortokio::task::spawn
, pacquet becomes slower than before.Resources
The branches:
main
branch is at pnpm/pacquet@6b00165 at the time of writing this.optimization-attempt-rayon
is an attempt at using rayon to parallelize some operations. It is at pnpm/pacquet@1f4b10f at the time of writing this.optimization-attempt-tokio-tasks
is an attempt at using tokio tasks to parallelize some operations. It is at pnpm/pacquet@92d5949 at the time of writing this.The manifest files and lockfiles are located in
tasks/integrated-benchmark/src/fixtures/
.To compare benchmark against the main branch, run:
just integrated-benchmark -s frozen-lockfile $TARGET_BRANCH main -V
NOTE: The benchmarks are using a small lockfile by default. You should manually copy the medium-size lockfile and manifest file for a more objective measurement. Remember to manually set
autoInstallPeers
in the lockfile tofalse
.NOTE: You can add
--with-pnpm
to compare pacquet against pnpm. Be aware that startup time will hold back pnpm if using the default lockfile, so a bigger lockfile is necessary to be objective.Beta Was this translation helpful? Give feedback.
All reactions