startup shouldn't depend on documentation
- Dominant language
- Macaulay2
- Stars
- 435
- Forks
- 297
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 11
Description
The two load times below demonstrate that it takes more than twice as long for M2 to load if package documentation aren't installed. I don't think startup should necessarily load all the databases, at least not until `help` is called.
```m2
mahrud@noether:~/Projects/M2/M2/M2/BUILD/build$ rm -rf usr-dist/x86_64-Linux-Fedora-40/lib64/*
mahrud@noether:~/Projects/M2/M2/M2/BUILD/build$ time ./M2 -e "exit 0"
Macaulay2, version 1.24.05
with packages: Complexes, ConwayPolynomials, Elimination, IntegralClosure,
InverseSystems, Isomorphism, LLLBases, MinimalPrimes,
OnlineLookup, PrimaryDecomposition, ReesAlgebra, Saturation,
TangentCone, Truncations, Varieties
real 0m5.133s
user 0m6.199s
sys 0m0.487s
mahrud@noether:~/Projects/M2/M2/M2/BUILD/build$ cp -r ~/.linuxbrew/opt/macaulay2/lib/Macaulay2/ usr-dist/x86_64-Linux-Fedora-40/lib64/
mahrud@noether:~/Projects/M2/M2/M2/BUILD/build$ time ./M2 -e "exit 0"
Macaulay2, version 1.24.05
with packages: Complexes, ConwayPolynomials, Elimination, IntegralClosure,
InverseSystems, Isomorphism, LLLBases, MinimalPrimes,
OnlineLookup, PrimaryDecomposition, ReesAlgebra, Saturation,
TangentCone, Truncations, Varieties
real 0m2.255s
user 0m2.138s
sys 0m0.382s
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the two ./M2 -e "exit 0" timing commands from the issue with and without installed package documentation. Trace the startup path and the help entry point to determine where documentation databases are loaded; done means startup avoids that work while help still loads the required documentation correctly.
Written by the indexing model from the issue text.
Assessment
- Domain
- cli, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100