
#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 bgamari): Replying to [comment:36 alkar]:
1. Read all lines from patterns.txt into a set.
And the pattern file can be quite large (this is why I'm doing it in a single process instead of multiprocessing), so the less penalty I get by using `-N` the better.
Keep in mind that this doesn't necessarily mean that you need a single process. With the coming 8.2 release it will be possible to share large data structures like your patterns set in a single `mmap`'d shared memory block using compact regions. Given the challenges of ensuring good scaling with our garbage collector you may want to look into this approach. That being said, it would be great if someone (perhaps you!) could look into why the system time numbers you report are so high. 30% runtime hit on a program which uses only one capability and no parallel GC seems quite high. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8224#comment:37 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler