-
Notifications
You must be signed in to change notification settings - Fork 217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use Data.Map.Strict instead of Data.Map #2611
Conversation
Not sure why the Hydra build failed. |
@winitzki This shouldn't be related to the code changes, right? |
Right, I believe it has nothing to do with the code changes. All tests passed in this PR. A similar situation is happening right now in another PR: #2513 Most likely it's a stale failed build that Hydra has cached for some reason. Someone needs to restart the server somewhere. |
Yeah, this is an issue with Hydra where it sometimes run out of memory and then I log in to manually restart the build. The main reason I still use Hydra is because it ensures that the cache is preserved between builds, which at the time was hard to get with other CI solutions. However, I have been thinking of switching to Garnix for Nix builds, which would fix this problem (I think). |
@Gabriella439 there is also |
1.42.2 * [Supports standard version 23.1.0](https://github.com/dhall-lang/dhall-lang/releases/tag/v23.1.0) * [Allow `Natural` and `Integer` literals in binary notation](dhall-lang/dhall-haskell#2540) * Fix macOS build [[#2561](dhall-lang/dhall-haskell#2561)] / [[#2586](dhall-lang/dhall-haskell#2586)] * [`dhall to-directory-tree`: Fix support for empty `Map`s](dhall-lang/dhall-haskell#2609) * [`Dhall.TH`: Improve recompilation checking](dhall-lang/dhall-haskell#2620) * `Dhall.TH` utilities now use `addDependentFile` internally so that GHC will recompile if any Dhall dependencies change * Performance improvements * Optimize `Natural/fold`: [[#2585](dhall-lang/dhall-haskell#2585)] / [[#2596](dhall-lang/dhall-haskell#2596)] * [Improve `Dhall.Map.traverseWithKey` performance](dhall-lang/dhall-haskell#2589) * The fold will now short-circuit if it reaches a fixed point * [#2611](dhall-lang/dhall-haskell#2611) * Fixes and improvements to test suite * [#2593](dhall-lang/dhall-haskell#2593) * Fixes and improvements to haddocks * [#2546](dhall-lang/dhall-haskell#2546) * Fixes and improvements to code formatting * [#2608](dhall-lang/dhall-haskell#2608)
When trying to read a 93Mb Dhall file with
inputExprWithSettings
(using a small list of subtitutions), Dhall currently crashes due to a spaceleak (presumably). Profiling showed thatDhall.Map
is to blame for the allocations (withtoList
being the main retainer) and the only way to get this under control was to switch toData.Map.Strict
.Is there a specific reason why the lazy
Data.Map
is used in this module? It seems to me that laziness provides no benefit and moving to the strict version is the way to go.Profiling eventlogs (for a smaller file) can be found here: profiling.zip