Severe performance regression in v1.0.0
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 168
- Forks
- 44
- PR merge metrics
- No merged PRs in 30d
Description
I am testing updating the build of doldecomp/melee from wibo 0.7.0 to 1.0.0 and am noticing a huge (~25x) slowdown in the new version.
Before (0.7.0):
$ time ninja
<snip>
Executed in 25.31 secs fish external
usr time 339.17 secs 0.38 millis 339.17 secs
sys time 148.99 secs 1.26 millis 148.99 secs
After (1.0.0):
$ time ninja
<snip>
Executed in 632.48 secs fish external
usr time 139.64 mins 0.20 millis 139.64 mins
sys time 78.02 mins 1.70 millis 78.02 mins
Note that I am not using prebuilt static wibo binaries - I am building using Nix and dynamically linking against system libraries (libclang, mimalloc). https://github.com/doldecomp/melee/blob/8a5d975fbd3debea3db7aa5f4851aea5222d5344/.nix/wibo.nix
That being said, I am doing this for both 0.7.0 and 1.0.0 and I don't think that alone can explain such a severe performance regression.
Edit: I have updated the build to use the project-provided statically-built wibo-i686 from the releases page and can confirm a similar slowdown.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the reported ninja build slowdown with wibo 0.7.0 and 1.0.0, using both the Nix configuration in .nix/wibo.nix and the project-provided statically built wibo-i686 binary. Compare the builds and execution measurements to identify where the regression occurs; done means the cause is isolated and the v1.0.0 performance is verified against the earlier release.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux
- Domain
- performance, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100