Re: Euphoria To C Translator Optimisations (2)

new topic     » goto parent     » topic index » view thread      » older message » newer message

Rather than reply individually  to the many posts made
by Mike The Spike today, I'll just supply a
few bits of information:

---

register variables: 

Why don't you alter the C source
files generated and tell me if "register" helps. 
WATCOM ignores register declarations. 
Most decent compilers do their own assignment 
of variables to registers. On the Pentium there
aren't many registers available anyway.

---

*((int *)_2 = *((int *){9,34,14,18,33,46};

Seems to me something like that only works 
for static initializations. Not dynamically executing code.

---
in-lining:

The routines that you want to inline are a bit too large.
inlining increases the size of your code, but does
not necessarily increase the speed. There is a
severe penalty for executing code that is not in the 
Pentium code cache. If your code is larger you will
likely have more cache misses.

---
peeks/pokes with DJGPP

DJGPP puts low memory in a completely separate
memory segment, so you have to call that go32 macro
to peek or poke into it.
WATCOM /Causeway made low memory contiguous
with high memory in the same data segment. For compatibility
I had to handle DJGPP this way. You really don't
want me to put a single poke of one byte 
into memory into a subroutine, rather than *inlining* it 
would you?

---

#ifdef:

The Euphoria source consists of *one* set of source
files. There are #ifdef's throughout the code to select:
Windows vs. DOS vs. Linux
Public Domain vs Complete
Translator vs Interpreter vs. Runtime Library
Debug vs Release build

It would be potentially exciting to release the source
to other people, but it has to be done in a way that
maintains my income. I can't make any decisions about
this for a couple of months (so stop nagging me smile).

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu