<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gf-core.git/src/compiler/GF/System/Concurrency.hs, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.adelon.net/gf-core.git/atom?h=master</id>
<link rel='self' href='https://git.adelon.net/gf-core.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/'/>
<updated>2017-08-18T09:55:44+00:00</updated>
<entry>
<title>Bump version requirements to base&gt;=4.6, Cabal&gt;=1.20</title>
<updated>2017-08-18T09:55:44+00:00</updated>
<author>
<name>Thomas Hallgren</name>
<email>th-github@altocumulus.org</email>
</author>
<published>2017-08-18T09:55:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=0a0eaa01bcbe9574bb86a6470ca5139fbd32a9d3'/>
<id>urn:sha1:0a0eaa01bcbe9574bb86a6470ca5139fbd32a9d3</id>
<content type='text'>
Cabal&gt;=1.20 allows control over parallelism when compiling grammars from
Setup.hs and WebSetup.hs.

base&gt;=4.6 allows conditional compilation with CPP to be eliminated from
a few modules.

base-4.6 corresponds to GHC 7.6.3, which is what you get in
Debian 8 (aka jessie, aka oldstable) from 2015.
</content>
</entry>
<entry>
<title>Remove debug output introduced in previous patch</title>
<updated>2015-09-11T14:46:31+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2015-09-11T14:46:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=bde7347045ae510f66c135aba6862ff81a75419b'/>
<id>urn:sha1:bde7347045ae510f66c135aba6862ff81a75419b</id>
<content type='text'>
Oops.
</content>
</entry>
<entry>
<title>Parallel compilation: "gf -make -j" and "gf -make -j=n" now work as expected</title>
<updated>2015-09-11T14:18:01+00:00</updated>
<author>
<name>hallgren</name>
<email>hallgren@chalmers.se</email>
</author>
<published>2015-09-11T14:18:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adelon.net/gf-core.git/commit/?id=9556cf453f6c1499a2907acd72d7b11211387b0d'/>
<id>urn:sha1:9556cf453f6c1499a2907acd72d7b11211387b0d</id>
<content type='text'>
  * "gf -make -j=n" uses n parallel threads.
  * "gf -make -j" adapts to the number of processors in the system.

This mimics how "cabal build -j" and "ghc --make -j" works.

Support for this is implemented in the new module GF.System.Concurrency and
it depends on the function Control.Concurrent.setNumCapabilities, which is
only available in GHC&gt;=7.6 (base&gt;=4.6). GF can still be compiled with
GHC&lt;7.6, but then you have to use +RTS -N -RTS to take advantage of
multicore processors.

To detect the number of processors in the system, the code depends on a
foreign import of a C function in the GHC run-time system.
</content>
</entry>
</feed>
