[mps-discussion] MPS Kit release 1.113.0
Gareth Rees
gdr at ravenbrook.com
Wed Mar 19 17:59:07 GMT 2014
Release 1.113.0 of the MPS Kit is now available.
You can download it from <http://www.ravenbrook.com/project/mps/release/1.113.0/>
This release contains improvements to scalability and performance:
1. The MPS has fewer operations that iterate over the mapped chunks of address space. This improves performance in cases when an arena has had to add new chunks of address space. See <http://www.ravenbrook.com/project/mps/issue/job003554/>
2. The MPS now keeps a reserve of mapped pages from one collection to the next. Previously, all unused pages were returned to the operating system at the end of a garbage collection cycle, which had undesirable consequences (system call overhead; thrashing the operating system’s page table; and unnecessary zeroing of re-mapped memory). See <http://www.ravenbrook.com/project/mps/issue/job003700/>
3. The MPS now returns pages to the operating system promptly. Previously, it only returned memory at the end of a collection cycle.
The release also contains improvements to the generation chain interface:
1. The arena now has a default generation chain, so it is no longer a requirement to specify a chain when creating an automatically managed pool. (But you can still specify one if you like.)
2. All automatically managed pool classes now allow you to specify which generation chain they should use. There are no more secret generation chains used by the AWL and LO pool classes, and no more restrictions on the length of the chains used by the AMS pool class.
3. Non-moving automatically managed pools (AMS, AWL, and LO) allow you to specify which generation of a chain they allocate objects into. (These pools don’t promote objects between generations.)
See the release notes <http://www.ravenbrook.com/project/mps/version/1.113/manual/html/release.html#release-1-113-0>
--
Gareth Rees
More information about the MPS-discussion
mailing list