Skip to content

deno install (deno_npm::resolution) is very slow when creating lock file #28517

@ansemb

Description

@ansemb

Hi,

When using deno install to create (or update) the deno.lock, the deno_npm::resolution step is really slow (e.g. compared to pnpm) for resolving peer dependencies.

Note: I'm on a Mac M1 (Apple M1 Max, 64GB)

I'm trying to add deno into a monorepo at Microsoft with ~3000 packages, but I'm unable to create the deno.lock file, due to the resolution being too slow. I've kept the deno install running continuously for >24 hours without luck.

Smaller repro

I've added a small repository for reproduction.

I'm doing deno install and pnpm install without a lock file.

Note: this is a random sample from a couple of runs so there will be some variance

❯ time deno install
//...
________________________________________________________
Executed in  352.56 secs    fish           external
   usr time  607.77 secs    0.08 millis  607.77 secs
   sys time  104.72 secs    2.81 millis  104.72 secs
❯ time pnpm install
//...
________________________________________________________
Executed in   23.16 secs    fish           external
   usr time   12.26 secs    0.09 millis   12.26 secs
   sys time   78.50 secs    3.33 millis   78.49 secs

logs

Adding a sample of the debug for deno install. It keeps going graph resolution for the majority of the time.

deno -L trace install:

DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for @babel/core in @babel/helper-module-transforms@7.26.0_@babel+core@7.26.10 to @babel/core@7.26.10
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for browserslist in update-browserslist-db@1.1.3_browserslist@4.24.4 to browserslist@4.24.4
DEBUG RS - deno_npm::resolution::graph:1395 - Resolved peer dependency for @babel/core in @babel/helper-module-transforms@7.26.0_@babel+core@7.26.10 to @babel/core@7.26.10

❯ deno --version
deno 2.2.4 (stable, release, aarch64-apple-darwin)
v8 13.4.114.11-rusty
typescript 5.7.3

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions