msys2 / msys2/msys2-runtime

performance regression between 3.5 and 3.6

Open
#282 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
240
Forks
60
Avg merge
2d 3h
Merged PRs (30d)
1

Description

I use mlocate-0.26 debian package (sources available) to index my whole OS.

With 3.5, a full run on my OS (1.8M dirs, 16M files) took 1h30.
With 3.6, it takes over 15 hours.

From oftc/#msys2 advices, I did a small benchmark on clean install of msys2 (one normal, the other with msys2-runtime-3.5 & msys2-runtime-3.5-devel installed).

msys2-runtime 3.5 vs 3.6, pour mlocate-0.26
/g/test_msys (2.97gb, 80k files, 4.5k dirs):
3.5 : 42s first run, 2s second run
3.6 : 10s first run, 2s second run
/g/dev (10.5gb, 131k files, 13.5k dirs):
3.5 : 27s first run, 8s second run
3.6: 3m07s first run, 8s second run

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the reported mlocate-0.26 benchmark on clean MSYS2 installs with msys2-runtime 3.5 and 3.6, using the /g/test_msys and /g/dev cases described. Compare first-run timings and investigate the runtime change responsible for the regression. Done means the cause is identified and the 3.6 performance is restored or the regression is documented with supporting measurements.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
operating-systems, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.