4 suggested fixes/enhs for 3.9.1 (was Re: 3.9.1 (was: Re:
Preliminary new Yaxo version))
goran at krampe.se
goran at krampe.se
Thu Nov 15 11:16:06 UTC 2007
Hi folks!
A few things for possible inclusion, I don't have time right now to
check if some of these are already included but I think not.
Two of them are nice speedups (time and printing SmallIntegers), the
other one is a simple addition of behavior (parsing dates) that I wrote
as a reaction to a post on the beginners list a while back. Oh, and I
also added a fix for SMTPClient - well, two rolled into one changeset
actually - harvested from the Gjallar project.
I consider 6513 to be trivial to add (just added behavior - can't break
stuff), 6512 seems trivial too (easy to verify), 4669 should be green
with all Date/Time tests and has been recommended for inclusion earlier,
but perhaps someone else did something in that area that has made it
obsolete (Keith?), I don't recall. 6768 also seems easy to include, and
it has been battle tested in Gjallar.
regards, Göran
-----------------------------------------
http://bugs.squeak.org/view.php?id=6512
Much faster printString (and thus also asString) for SmallIntegers:
One override of #printString for SmallInteger and a new method for
counting digits in base 10. This makes #printString for SmallIntegers
more than 4 times faster than before.
-----------------------------------------
http://bugs.squeak.org/view.php?id=6513
Read a Date from the stream based on the pattern which can include
the tokens:
y = A year with 1-n digits
yy = A year with 2 digits
yyyy = A year with 4 digits
m = A month with 1-n digits
mm = A month with 2 digits
d = A day with 1-n digits
dd = A day with 2 digits
...and any other Strings inbetween. Representing $y, $m and $d is
done using
\y, \m and \d and slash itself with \\. Simple example patterns:
'yyyy-mm-dd'
'yyyymmdd'
'yy.mm.dd'
'y-m-d'
A year given using only two decimals is considered to be >2000.
--------------------------------------------
http://bugs.squeak.org/view.php?id=4669
Ok, so we were trying to figure out why our logger in Gjallar spent so
much time in creating DateAndTime etc... after looking, tweaking,
profiling and even some thinking I came up with this "SpeedPack" of
changes.
I might have broken some subtleties (I don't think I have though) but
the tests are still green. Glad for any indepth review.
And? Well, the speed differences are quite huge. :) Lots of it comes
from better Duration instance creation methods and from not going back
and forth too much between nanos and seconds etc.
"DateAndTime now" is about 6 times faster and "Date today" 4 times. The
full chronology test suite runs almost 2 times faster. See preamble for
a do-it that shows this (run before and after installing cs).
So far only tested in 3.8.
--------------------------------------------
http://bugs.squeak.org/view.php?id=6768
Added support for EHLO (sending SMTP using Exchange) and fixed a problem
with authentication - #initiateSession needs to be sent before login
occurs.
More information about the Squeak-dev
mailing list
|