-
Notifications
You must be signed in to change notification settings - Fork 12
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
Dependency updates and some cleanups #76
Conversation
Two problems:
|
Looking at compilation times of individual modules, all modules compile within seconds, except these:
And the common thing among these modules is that they use deriving-aeson to derive JSON instances for a lot of data types. Safe to say, that package is causing the slowdown with this PR. I'll continue investigating. |
Here's the full log of a compilation with |
The performance problem doesn't appear to be related to haskell.nix, because it's the same even when I tried to switch to the nixpkgs Haskell infrastructure, see https://github.com/tweag/webauthn/tree/nixpkgs-haskell |
Turns out that the problem only appears with |
I reported the performance problem in fumieval/deriving-aeson#16, having created a reproducible minimal example in https://github.com/tweag/webauthn/tree/deriving-aeson-slow-repro |
4f5cbbf
to
ef37088
Compare
I fixed the bash problem on macOS by just not using
This seems to be the same as issue NixOS/nix#5125 |
Since this seems to be related to import-from-derivation, and I already did the work of getting the nixpkgs haskell infra to work in https://github.com/tweag/webauthn/tree/nixpkgs-haskell, I'm just gonna switch to that. This will also speed up CI and nix-shells |
We want to use cryptograhically secure randomness, which the random library isn't intended for. Instead we're going to use cryptonite's `MonadRandom` which is. Also gets rid of a direct dependency.
We really don't need much from it
ed7ea2d
to
bcd6b8c
Compare
haskell.nix caused problems on darwin due to a segfaults after updating haskell.nix, see NixOS/nix#5125 This commit also cleans up CI a bit
See commit messages for changes