haskell / haskell/haskell-language-server

Speed up session loader

Open
#4,446 1 comment 2 reactions 0 assignees View on GitHub
performance type: enhancement
Dominant language
Haskell
Stars
3k
Forks
455
Avg merge
2d 19h
Merged PRs (30d)
11

Description

Session loader is responsible for generating ghc options to load modules. Due to the limitation of hie-bios, we are loading module one by one. The session loader is overly sequentialized.

Problems:
1. Not loading in batch with multi homeunit support. https://github.com/haskell/haskell-language-server/issues/4381
2. Loading of a module's options is blocked by the loading in the front of the line even if the module's options in the cache.

Solutions:
1. Batch load. https://github.com/haskell/haskell-language-server/pull/4439
2. Decouple the session loader into reader and writer over the cache. #4445

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.