
#8224: Excessive system time -- new IO manager problem? -------------------------------------+------------------------------------- Reporter: rrnewton | Owner: Type: bug | Status: new Priority: high | Milestone: 8.2.1 Component: Runtime System | Version: 7.7 Resolution: | Keywords: IO Manager, | System Time Operating System: Linux | Architecture: x86_64 Type of failure: Runtime | (amd64) performance bug | Test Case: Blocked By: | Blocking: Related Tickets: #9221 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by alkar): Replying to [comment:33 bgamari]:
As expected disabling parallel GC with `+RTS -qg` drastically reduces system time due to reduced synchronization overhead.
Wow! Just tried `+RTS -N -qg` and brings performance back in the sane world! Now it's something like {{{ real 0m0.269s user 0m0.232s sys 0m0.104s }}} That is, 30-40% slower than without `-N`. A real-life example of a program where I'd want a long single thread computation with `-N` turned on is a faster analog of `fgrep -f patterns.txt input1 ... inputN`: 1. Read all lines from `patterns.txt` into a set. 2. In parallel for each input file, `filter (\str -> member str set) . lines` -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8224#comment:34 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler