So it looks like the teething problems with my case node optimisation have
been resolved, at least for now. Granted, platforms outside of Intel
haven't been heavily tested yet, I don't think. I'm worried that
https://bugs.freepascal.org/view.php?id=34782 might be because of it, if
only because i
Hi everyone.
This is just a follow-up on https://bugs.freepascal.org/view.php?id=34762,
since the issue has been marked as resolved now.
The apparent regression doesn't seem to exist. Both the trunk (before it
was updated) and the patch produce a linear list for the test in question -
e.g.:
So I've been doing a bit more research, and I think my binary search
algorithm is, unfortunately, a failure. Even after restructuring my
lookup table and making some minute optimisations, it's still slower
overall in my test program, and slower than a jump tree if that gets
used. I'm figuring th
Just to clarify, the patch does NOT contain the binary search algorithm.
It does contain a utility function that was accidentally left over when I
stripped the code out, named "CreateCMOVInstr", but this can be safely
removed.
Gareth aka. Kit
On Wed 26/12/18 00:27 , "J. Gareth Moreton" gar...
Merry Christmas everyone!
I've uploaded my improvements to a bug report, along with a test program
that gives timings and verifies correctness.
https://bugs.freepascal.org/view.php?id=34762
It turns out that my binary search algorithm runs slower on average
"Domain of 1024" tests (which are
I'll see what I can do!
The one thing about my case optimisations here is that they're done at the
node level. Some parts are platform-independent, but unfortunately,
things like jump table generation have to be implemented for each platform.
The aint shuffling is a little difficult to test f
Am 15.12.2018 um 18:08 schrieb J. Gareth Moreton:
> So here's something else I've been playing with in the interim... I've been
> working on improving the algorithms used when compiling case blocks. It was
> driven partly by my binary search idea for certain kinds of case block, which
> I
> wrote
Hi everyone,
So here's something else I've been playing with in the interim... I've
been working on improving the algorithms used when compiling case blocks.
It was driven partly by my binary search idea for certain kinds of case
block, which I wrote up over here:
http://wiki.freepascal.org/Cas