aboutsummaryrefslogtreecommitdiff
path: root/app/Server.hs
Commit message (Collapse)AuthorAgeFilesLines
* Optimize memory usage of haskell-code-serveralexwl2019-01-231-250/+849
| | | | | | This commit adds an option to create an on-disk key-value store that contains all the data from PackageInfo of each indexed package in a queriable form. The store can be used by haskell-code-server to respond to API requests. The main benefit of using the store, compared to deserializing and loading PackageInfo of each package into memory, is reduced memory usage (approximately 7 times for a set of Haskell packages). The key-value store on disk consists of two files: 'index' and 'values'. 'index' is a small file that contains a map from strings to locations in a 'values' file. 'index' file should be deserialized and loaded into memory. 'values' is a large file that contains serialized Haskell data structures. 'values' file can be either read directly (without deserializing) or memory-mapped.
* Replace Vector.fromList with Vector.fromListNalexwl2018-12-131-9/+3
| | | | Vector.fromListN allocates less memory and allows to remove the call to Vector.force before compaction ('compact $ Vector.fromList [1,2,3]' crashes, 'compact $ Vector.fromListN 3 [1,2,3]' doesn't crash)
* Add cross-package 'find references'Alexey Kiryushin2018-11-161-23/+74
|
* Embed static assets in haskell-code-server executable.alexwl2018-11-071-2/+23
| | | | When there is no --js-path option, haskell-code-server serves embedded static assets.
* Show multiple references to an identifier on the same line as one item in a ↵alexwl2018-10-251-24/+29
| | | | list of references
* WIP. It compiles with ghc-8.4.3, but not all features of the indexer are ↵alexwl2018-10-091-2/+4
| | | | supported yet.
* Initial commitalexwl2018-10-021-0/+1014