[GHC] #13304: GHC 8.0.* is slow when run on Windows 10 Ubuntu subsystem
GHC
ghc-devs at haskell.org
Mon Feb 20 08:59:16 UTC 2017
#13304: GHC 8.0.* is slow when run on Windows 10 Ubuntu subsystem
-------------------------------------+-------------------------------------
Reporter: sukhmel | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
I have tried both 8.0.1 and 8.0.2 versions of GHC. 7.10.3 runs just fine.
Installation process is also much faster for 7.10.3, later versions have
taken around 4 hours to be installed.
Programs compiled with slow GHC are also slow. Sample program:
{{{#!haskell
main = putStrLn "Hello, world!"
}}}
GHC is installed with Stack.
Windows version is 1607 build 15031.0 I believe this could be a bug in
implementation of Ubuntu subsystem, but I'm not quite sure what part of it
is failing.
{{{
$ time stack ghc -- -e 'putStrLn ""'
real 2m28.240s
user 0m0.375s
sys 3m30.078s
$ time stack ghc -- --version
The Glorious Glasgow Haskell Compilation System, version 8.0.2
real 1m45.533s
user 0m0.125s
sys 2m46.516s
time stack ghc --compiler ghc-8.0.1 -- --version
The Glorious Glasgow Haskell Compilation System, version 8.0.1
real 2m54.764s
user 0m0.234s
sys 3m58.422s
}}}
{{{
$ time ghc -e 'putStrLn ""'
real 0m0.872s
user 0m0.109s
sys 0m0.125s
$ time ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.6.3
real 0m0.072s
user 0m0.000s
sys 0m0.031s
time stack ghc --compiler ghc-7.10.3 -- -e 'putStrLn ""'
real 0m0.876s
user 0m0.234s
sys 0m0.688s
time stack ghc --compiler ghc-7.10.3 -- --version
The Glorious Glasgow Haskell Compilation System, version 7.10.3
real 0m0.832s
user 0m0.109s
sys 0m0.813s
}}}
{{{
$ echo 'main = putStrLn "Hello, world!"' > test.hs
$ time stack ghc --compiler ghc-8.0.2 -- test
[1 of 1] Compiling Main ( test.hs, test.o )
Linking test ...
real 3m56.582s
user 0m0.609s
sys 5m8.125s
$ time ./test
Hello, world!
real 0m27.540s
user 0m0.000s
sys 0m27.297s
}}}
{{{
$ echo 'main = putStrLn "Hello, world!"' > test.hs
$ time stack ghc --compiler ghc-7.10.3 -- test
[1 of 1] Compiling Main ( test.hs, test.o )
Linking test ...
real 0m2.222s
user 0m0.406s
sys 0m1.406s
$ time ./test
Hello, world!
real 0m0.030s
user 0m0.000s
sys 0m0.031s
}}}
Part of Stack output with timings:
{{{
$ stack ghc --verbose -- -e 'putStrLn "Hello, world!"'
Version 1.3.2, Git revision 3f675146590da4f3edf768b89355f798229da2a5 (4395
commits) x86_64 hpack-0.15.0
...
2017-02-19 21:13:05.756085: [debug] No project config file found, using
defaults.
2017-02-19 21:13:05.759402: [debug] Run from outside a project, using
implicit global project config
2017-02-19 21:13:05.761724: [debug] Using resolver: lts-8.0 from implicit
global project's config file: /home/sukhmel/.stack/global-
project/stack.yaml
...
2017-02-19 21:13:05.788855: [debug] Run process: /sbin/ldconfig -p
2017-02-19 21:13:05.816489: [debug] Process finished in 26ms:
/sbin/ldconfig -p
2017-02-19 21:13:05.820648: [debug] Run process: /usr/bin/gcc -v
2017-02-19 21:13:05.844975: [debug] Process finished in 23ms: /usr/bin/gcc
-v
...
2017-02-19 21:13:05.854997: [debug] Using standard GHC build
2017-02-19 21:13:05.856774: [debug] Getting global package database
location
...
2017-02-19 21:13:05.867711: [debug] Run process:
/home/sukhmel/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-
user-package-db list --global
2017-02-19 21:13:05.888957: [debug] Run process:
/home/sukhmel/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc --numeric-
version
2017-02-19 21:13:05.919968: [debug] Run process:
/home/sukhmel/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-
user-package-db field --simple-output Cabal version
2017-02-19 21:13:38.605653: [debug] Process finished in 32736ms:
/home/sukhmel/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-
user-package-db list --global
2017-02-19 21:14:11.930034: [debug] Process finished in 32792ms:
/home/sukhmel/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-
user-package-db field --simple-output Cabal version
2017-02-19 21:14:11.931071: [debug] Process finished in 32831ms:
/home/sukhmel/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc --numeric-
version
...
2017-02-19 21:14:11.939817: [debug] Run process:
/home/sukhmel/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc -e "putStrLn
\"Hello, world!\""
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13304>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list