Here's the results from a --profile-compile: 1. match (gen/moar/m-CORE.setting:12064), 12750 entries, 25.66% inclusive time, 8.15% exclusive time 2. <anon> (gen/moar/m-BOOTSTRAP.nqp:2081), 111530 entries, 4.59% inclusive time, 4.36% exclusive time 3. <anon> (gen/moar/m-CORE.setting:40776), 13148 entries, 6.85% inclusive, 4.16% exclusive time 4. canonpath (gen/moar/m-CORE.setting:27919), 25500 entries, 40% inclusive time, 3.12% exclusive time 5. <anon> (gen/moar/m-CORE.setting:27924), 25501 entries, 2.99% inclusive time, 2.9% exclusive time 6. FILETEST-D (gen/moar/m-CORE.setting:3909), 68721 entries, 2.73% inclusive time, 2.73% exclusive time 7. STORE (gen/moar/m-CORE.setting:16678), 204002 entries, 8.21% inclusive time, 2.42% exclusive time
I think the fourth spot, "canonpath" taking 40% inclusive time, is what's messing us up here. If we could avoid running it as often, we could get significant savings.