From: Henry C. <he...@re...> - 1970-01-01 00:00:00
|
Ok, first things first: the new coalescer seems pretty bad in terms of run time: old CPU new CPU change knuth-bendix 34.77 36.23 -4.2% lexgen 65.79 67.62 -2.8% mlyacc 41.43 41.54 -0.3% ratio-regions 46.54 37.80 23.1% simple 44.07 39.06 12.8% vliw 41.14 44.78 -8.8% Despite these lousy results, the trampoline counts all improved, except for VLIW, which is what I was trying to do: knuth-bendix 5,970,302 4,693,902 lexgen 18,588,580 13,094,922 mlyacc 21,570,876 18,862,276 ratio-regions 65,436,666 2,494,240 simple 78,110,715 57,506,745 vliw 45,479,093 52,652,798 Note, ratio-regions improved by more than a factor of 26 (its run time improved by 23%). Why knuth-bendix and lexgen slowed down (by 4.2 and 2.8%) when the number of inter-chunk transfers decreased (by 27.2 and 42.0%) I really don't understand. I suppose I could have made some chunk large, so that the switch was always being predicted correctly before, and now is not. For inter-chunk returns, pretty much the same story: knuth-bendix.c 3,070,650 2,052,250 lexgen.c 10,147,249 6,559,970 mlyacc.c 13,272,415 9,673,815 ratio-regions.c 33,771,423 1,247,102 simple.c 38,960,387 29,324,907 vliw.c 22,984,834 26,271,904 Again, except for vliw, everything improved. As to counts, for number of returns, there was no change, except for vliw. The old coalescer resulted in code which did 34,952,740 while the new coalescer produced code which did 34,952,695. Not much of a change, but I'm confused. For limit checks, several changed, although not by much: knuth-bendix.c 21,396,299 21,396,299 NO CHANGE lexgen.c 68,843,609 68,843,610 +1 mlyacc.c 91,048,654 91,048,655 +1 ratio-regions.c 32,493,916 32,493,916 NO CHANGE simple.c 34,037,502 34,037,502 NO CHANGE vliw.c 65,806,335 65,806,064 -271 Any explanations? |