[Cuis-dev] Problems in class Number

Agustín Sansone agustinsansone7 at gmail.com
Thu Oct 10 20:23:59 PDT 2019


Another 17%

El vie., 11 oct. 2019 a las 0:16, Andres Valloud via Cuis-dev (<
cuis-dev at lists.cuis.st>) escribió:

> Another 10% or so.  Looks like this is finally hitting diminishing returns.
>
> On 10/10/19 20:04, Andres Valloud via Cuis-dev wrote:
> > Do you see any way to improve upon it?  If not... maybe it's time to
> > integrate the thing already.
> >
> > On 10/10/19 20:02, Agustín Sansone via Cuis-dev wrote:
> >> With this last improvement:
> >> Time millisecondsToRun:
> >>         [10000 timesRepeat: [1 to: 1600 do: [:e | e isPrimeFast2]] ]
> >> 3502
> >>
> >> Without it:
> >> Time millisecondsToRun:
> >>          [10000 timesRepeat: [1 to: 1600 do: [:e | e isPrimeFast]] ]
> >> 4982
> >>
> >> It is indeed a 30% speed increase for numbers up to 1521.
> >>
> >> El jue., 10 oct. 2019 a las 23:35, Andres Valloud via Cuis-dev
> >> (<cuis-dev at lists.cuis.st <mailto:cuis-dev at lists.cuis.st>>) escribió:
> >>
> >>     Hmmm, in here,
> >>
> >>              self < 384 ifTrue: [
> >>                      "Approximate sqrtFloor to avoid computational
> >> expense"
> >>                      3 to: (self bitShift: -3) + 1 by: 2 do:
> >>                              [:each | self \\ each = 0 ifTrue: [
> >> ^false ]].
> >>                      ^true
> >>              ].
> >>
> >>
> >>     the loop should start at 7 because the factors 3 and 5 have already
> >>     been
> >>     excluded.  This gains noticeable speed for smallish integers
> (because
> >>     384 sqrtFloor is just 19).  Looking into this further led to another
> >>     30%
> >>     speed increase.  Would you mind checking?
> >>
> >>     On 10/10/19 18:40, Agustín Sansone via Cuis-dev wrote:
> >>      >     Here's something really important: doing too much
> >>     micro-optimization
> >>      >     detracts from the motivation to implement better things.  I'd
> >>     say we
> >>      >     leave things with the round of 30.
> >>      >
> >>      >
> >>      > Okay. This is the 30*k version.
> >>      >
> >>     --     Cuis-dev mailing list
> >>     Cuis-dev at lists.cuis.st <mailto:Cuis-dev at lists.cuis.st>
> >>     https://lists.cuis.st/mailman/listinfo/cuis-dev
> >>
> >>
> --
> Cuis-dev mailing list
> Cuis-dev at lists.cuis.st
> https://lists.cuis.st/mailman/listinfo/cuis-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20191011/214cc43b/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Integer-isPrimeFast2.st
Type: application/octet-stream
Size: 1145 bytes
Desc: not available
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20191011/214cc43b/attachment-0001.obj>


More information about the Cuis-dev mailing list