MPS issue job004017

TitleMVFF is slow in the hot variety
Statusclosed
Priorityoptional
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionTravis build 1503.2 [1] says:

Performance ratio (hot/rash) for mvff: 148%

This is not acceptable: it indicates that MVFF is spending a third of its time checking assertions.
AnalysisProfiling the HOT build with Instruments shows:

6.7% LandCheck (< LandSize, LandFlush, LandInsert, LandIterateAndDelete)
5.0% PoolCheck (< PoolHasRange, PoolFree, PageAlloc, TractInit, MVFFFree, mps_free, PoolAlloc)
4.6% cbsUpdateFastNode
4.6% SplaySplitRev
3.6% PoolOfRange
3.3% cbsCompare
2.8% PoolFree
2.6% LandSize
How foundautomated_test
Evidence[1] https://travis-ci.org/Ravenbrook/mps/jobs/124506877
Created byGareth Rees
Created on2016-04-20 16:52:53
Last modified byGareth Rees
Last modified on2016-09-04 19:20:23
History2016-04-20 GDR Created.

Fixes

Change Effect Date User Description
192148 closed 2016-09-04 19:20:05 Gareth Rees Add _CRITICAL to assertions on the critical path for manual-allocation-bound programs using MVFF. This brings the hot/rash ratio for "djbench mvff" down from over 150% to about 130%.