Skip to content

Big slowdown with 0.8 in "large" repo #1176

@telser

Description

@telser

Describe the bug
In working on a commercial codebase with over 16.7k modules, we see a large slowdown in running over the repository.

To Reproduce
Using the following
time ormoulu --mode inplace $(git ls-files "*.hs") with version 0.7.7.0
I get the following timing:

real    0m36.176s
user    0m32.146s
sys     0m4.115s

But with version 0.8.0.1 I get

real    11m7.134s
user    160m20.571s
sys     10m42.078s

Going from 36s to 11minutes makes formatting basically unusable at the newer version.

Expected behavior
Not such a large slowdown.

Environment

  • OS name + version: Run inside a debian trixie container.
  • Results from a x86_64 build server with 24 threads and 32GB of memory

Additional context
While I unfortunately can't share the codebase this is happening on, if there are other things that might help I'm happy to do whatever I can.

The user time being ~15x the others clearly shows that the threaded runtime is being used now, but not so much that all available threads are in use.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions