[squeak-dev] Daily Commit Log

commits at source.squeak.org commits at source.squeak.org
Sun Mar 14 23:55:07 UTC 2010


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.

=============================================



More information about the Squeak-dev mailing list