On May 1, 7:00 pm, stephen...@[EMAIL PROTECTED]
(Stephen Pelc) wrote:
> On Wed, 30 Apr 2008 19:30:05 -0700 (PDT), brian....@[EMAIL PROTECTED]
wrote:
> >I have been dis-assembling pieces of GForth and I don't understand why
> >it is generally faster than other ITC Forths that are written in
> >Assembler like CI-Forth or my old 16 bit HS/Forth. The Assembler
> >primitives seem to be so much smaller from what I can see. Is the C
> >compiler smarter than we are?
>
> 1) Instruction selection
> 2) Instruction scheduling
>
> The performance coding rules for modern CPUs are not what you
> would expect, because instructions are split into micro-ops.
> PUSH and POP are particularly bad in many cases. See the Intel
> and AMD optimisation manuals for the horribly gory details.
Wow, that bit I hadn't realized.
So that's another thing to try, subtract and load to mem instead of
push. Would that be faster? Or just swap the stack into EBP like you
did, Stephen? I got to see what the c compilers do.
I was wondering why linus was stuffing parameters in registers to make
linux syscalls, instead of pu****ng to the stack. I must ask a linux
kernel hacker.
Compilers are extremely good these days, better than me for sure,
Brian - when I do get a chance I do enjoy seeing what they come up
with. It's a great way to learn assembly, watching what they spit out.
Intel C for linux is free, and one would imagine they would know their
chips best, and those manuals above are also free to download.
If you're particularly impatient and don't want to do c, VFX is also
very very very interesting to watch.
(For the record, I have to declare a particularly strong bias towards
this forth, so caveat emptor. I'm a happy customer - I know a lot of
compilers are free but speaking freely, this is one of the best darn
things I've spent money on).
By the way Stephen, if I may ask:
1. When is the release linux version anticipated to be ready?
2. Are you going to eventually go AMD64/EM64T given the extra no. of
registers and instructions?
3. I'm not too bothered about an OS X version - only really messing
with OS X because my wife has a mac, are there any plans this
direction?
> Stephen
>
> --
> Stephen Pelc, stephen...@[EMAIL PROTECTED]
> MicroProcessor Engineering Ltd - More Real, Less Time
> 133 Hill Lane, Southampton SO15 5AF, England
> tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691
> web:http://www.mpeforth.com-
free VFX Forth downloads
Robert Spykerman


|