Macaulay2 / Macaulay2/M2

startup shouldn't depend on documentation

Open
#3,322 0 comments 0 reactions 0 assignees View on GitHub
Core 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.