Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:
http://lists.squeakfoundation.org/pipermail/packages/2010-March/003010.html Name: Monticello-ar.382 Ancestors: Monticello-ar.381 Fix trait composition test in Monticello which could fail in some circumstances. ============================================= http://lists.squeakfoundation.org/pipermail/packages/2010-March/003011.html Name: KernelTests-nice.143 Ancestors: KernelTests-cmm.142 Let NumberParser test auto-detect whether lowercase digit letters are allowed or not, and then disbale non-10-based floating point tests. This make the tests green again. ============================================= http://lists.squeakfoundation.org/pipermail/packages/2010-March/003012.html Name: Kernel-nice.424 Ancestors: Kernel-laza.423 Cache well known digit values in NumberParser for speed. Testing the base as of previous implementation was not a good idea, because some Unicode characters could have a digitValue < 10. ============================================= http://lists.squeakfoundation.org/pipermail/packages/2010-March/003013.html Name: Collections-nice.336 Ancestors: Collections-HenrikSperreJohansen.335 1) Cache Character DigitValues to gain some speed. Warning: continue parsing lowercase digits, though it was not consensual. Note: class var initialization testing will be removed in nxt release. It's only an upgrade guard. 2) Avoid using size == 0 Benchmark: ['0123456789' do: [:e | e digitValue]] bench AFTER '233969.8060387922 per second.' '236418.5162967407 per second.' BEFORE '188964.4071185763 per second.' '197284.9430113977 per second.' ['0123456789ABCDEF' do: [:e | e digitValue]] bench AFTER '155123.375324935 per second.' '152030.1939612078 per second.' BEFORE '120782.4435112977 per second.' '119901.4197160568 per second.' ['0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' do: [:e | e digitValue]] bench AFTER '73469.7060587882 per second.' '73144.3711257749 per second.' BEFORE '55508.49830033993 per second.' '55637.2725454909 per second.' ['0123456789abcdefghijklmnopqrstuvwxyz' do: [:e | e digitValue]] bench AFTER '71603.8792241552 per second.' '72621.875624875 per second.' BEFORE '21194.16116776645 per second.' '21273.34533093381 per second.' ============================================= http://lists.squeakfoundation.org/pipermail/packages/2010-March/003014.html Name: Collections-nice.337 Ancestors: Collections-nice.336 Speed-up Character digitValue PART 2. Now get rid of class var initialization guard. Also use value instead of charCode to reach almost a x2 speedup (5x for lowercase). Benchmark: ['0123456789' do: [:e | e digitValue]] bench NEW '312686.2627474505 per second.' ORIG '197284.9430113977 per second.' ['0123456789ABCDEF' do: [:e | e digitValue]] bench NEW '208848.6302739452 per second. BEFORE '120782.4435112977 per second.' ['0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' do: [:e | e digitValue]] bench NEW '116395.9208158368 per second.' ORIG '55508.49830033993 per second.' ['0123456789abcdefghijklmnopqrstuvwxyz' do: [:e | e digitValue]] bench NEW '108928.8142371526 per second.' ORIG '21273.34533093381 per second.' ============================================= http://lists.squeakfoundation.org/pipermail/packages/2010-March/003015.html Name: Kernel-nice.425 Ancestors: Kernel-nice.424 Use Character>>digitValue.. Now that it is fast enough, there is no point in replicating the algorithm. ============================================= |
Free forum by Nabble | Edit this page |