stack exec ghc-mod -- auto app/Main.hs 24 12 starts consuming gigs of memory and seems to hang.
Last active
September 9, 2016 04:29
-
-
Save chrismwendt/59eff2b95e1f35b56c7d65907cd1057a to your computer and use it in GitHub Desktop.
Example of ghc-mod's auto command being slow
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| {-# LANGUAGE OverloadedStrings #-} | |
| module AFoo where | |
| import qualified Database.Bloodhound as B | |
| import Network.HTTP.Client (defaultManagerSettings) | |
| import Control.Monad | |
| import Control.Lens ((^.), (^?), (^..)) | |
| import Data.Aeson | |
| import Data.Aeson.Lens | |
| import Network.Wreq | |
| import Data.Aeson.Encode.Pretty | |
| import qualified Data.ByteString.Lazy.Char8 as BSLC | |
| import qualified Data.Text as T | |
| import qualified Data.Vector as V | |
| server = B.Server "http://localhost:9200" | |
| index = B.IndexName "test" | |
| mapping = B.MappingName "test" | |
| indexSettings = B.IndexSettings (B.ShardCount 100) (B.ReplicaCount 0) | |
| es = es' True | |
| es' verbose action = do | |
| reply <- _ defaultManagerSettings server action | |
| when (verbose && not (B.isSuccess reply)) $ case decode (reply ^. responseBody) :: Maybe Value of | |
| Nothing -> print $ reply ^. responseBody | |
| Just v -> BSLC.putStrLn . encodePretty $ v | |
| return reply | |
| mkBulk docId = B.BulkCreate index mapping (B.DocId docId) (object [("hi", "there")]) | |
| main = do | |
| es' False $ B.deleteIndex index | |
| es $ B.createIndex indexSettings index | |
| reply <- es $ B.bulk (V.fromList $ map (mkBulk . T.pack . show) [1 .. 130]) | |
| mapM_ print $ filter (/= 201) $ reply ^.. responseBody . key "items" . values . key "create" . key "status" . _Number | |
| es $ B.refreshIndex index | |
| searchReply <- es $ B.searchByIndex index (B.mkSearch (Just $ B.MatchAllQuery Nothing) Nothing) | |
| print (searchReply ^? responseBody . key "hits" . key "total") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: slow-ghc-mod-auto | |
| version: 0.1.0.0 | |
| synopsis: Initial project template from stack | |
| description: Please see README.md | |
| homepage: https://github.com/githubuser/slow-ghc-mod-auto#readme | |
| license: BSD3 | |
| license-file: LICENSE | |
| author: Author name here | |
| maintainer: [email protected] | |
| copyright: 2016 Author name here | |
| category: Web | |
| build-type: Simple | |
| -- extra-source-files: | |
| cabal-version: >=1.10 | |
| library | |
| hs-source-dirs: src | |
| exposed-modules: Lib | |
| build-depends: base >= 4.7 && < 5 | |
| default-language: Haskell2010 | |
| executable slow-ghc-mod-auto-exe | |
| hs-source-dirs: app | |
| main-is: Main.hs | |
| ghc-options: -threaded -rtsopts -with-rtsopts=-N | |
| build-depends: base | |
| , slow-ghc-mod-auto | |
| , bytestring | |
| , lens-aeson | |
| , bloodhound | |
| , vector | |
| , wreq | |
| , lens | |
| , aeson | |
| , text | |
| , http-client | |
| , aeson-pretty | |
| default-language: Haskell2010 | |
| test-suite slow-ghc-mod-auto-test | |
| type: exitcode-stdio-1.0 | |
| hs-source-dirs: test | |
| main-is: Spec.hs | |
| build-depends: base | |
| , slow-ghc-mod-auto | |
| ghc-options: -threaded -rtsopts -with-rtsopts=-N | |
| default-language: Haskell2010 | |
| source-repository head | |
| type: git | |
| location: https://github.com/githubuser/slow-ghc-mod-auto |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This file was automatically generated by 'stack init' | |
| # | |
| # Some commonly used options have been documented as comments in this file. | |
| # For advanced use and comprehensive documentation of the format, please see: | |
| # http://docs.haskellstack.org/en/stable/yaml_configuration/ | |
| # Resolver to choose a 'specific' stackage snapshot or a compiler version. | |
| # A snapshot resolver dictates the compiler version and the set of packages | |
| # to be used for project dependencies. For example: | |
| # | |
| # resolver: lts-3.5 | |
| # resolver: nightly-2015-09-21 | |
| # resolver: ghc-7.10.2 | |
| # resolver: ghcjs-0.1.0_ghc-7.10.2 | |
| # resolver: | |
| # name: custom-snapshot | |
| # location: "./custom-snapshot.yaml" | |
| resolver: lts-6.16 | |
| # User packages to be built. | |
| # Various formats can be used as shown in the example below. | |
| # | |
| # packages: | |
| # - some-directory | |
| # - https://example.com/foo/bar/baz-0.0.2.tar.gz | |
| # - location: | |
| # git: https://github.com/commercialhaskell/stack.git | |
| # commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a | |
| # - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a | |
| # extra-dep: true | |
| # subdirs: | |
| # - auto-update | |
| # - wai | |
| # | |
| # A package marked 'extra-dep: true' will only be built if demanded by a | |
| # non-dependency (i.e. a user package), and its test suites and benchmarks | |
| # will not be run. This is useful for tweaking upstream packages. | |
| packages: | |
| - '.' | |
| # Dependency packages to be pulled from upstream that are not in the resolver | |
| # (e.g., acme-missiles-0.3) | |
| extra-deps: [] | |
| # Override default flag values for local packages and extra-deps | |
| flags: {} | |
| # Extra package databases containing global packages | |
| extra-package-dbs: [] | |
| # Control whether we use the GHC we find on the path | |
| # system-ghc: true | |
| # | |
| # Require a specific version of stack, using version ranges | |
| # require-stack-version: -any # Default | |
| # require-stack-version: ">=1.2" | |
| # | |
| # Override the architecture used by stack, especially useful on Windows | |
| # arch: i386 | |
| # arch: x86_64 | |
| # | |
| # Extra directories used by stack for building | |
| # extra-include-dirs: [/path/to/dir] | |
| # extra-lib-dirs: [/path/to/dir] | |
| # | |
| # Allow a newer minor version of GHC than the snapshot specifies | |
| # compiler-check: newer-minor |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Check out the memory usage: