[A83] Re: Z88DK vs. SDCC


[Prev][Next][Index][Thread]

[A83] Re: Z88DK vs. SDCC




I'd volunteer, although the Z88DK documentation seems to make it clear that
they don't expect to add source optimization ever. Part of the reason for
this is probably that it isn't quite as easy as it first appears -- take the
code I posted earlier with k = i * j -- optimizing that isn't exactly
trivial. We'd need to gather info on how GCC does all of their optimizations
and implement as many as possible. Source optimization is where the real
savings comes in, especially for speed. For example SDCC's loop optimization
tries to move as many constant calculations outside of the loop as possible.

The question might be asked if it wouldn't be easier to start a compiler
from (almost) scratch (probably use the GNU preprocessor at least), or to
port GCC.

-----Original Message-----
From: assembly-83-bounce@lists.ticalc.org
[mailto:assembly-83-bounce@lists.ticalc.org]On Behalf Of Henk Poley
Sent: Wednesday, July 11, 2001 12:34 PM
To: assembly-83@lists.ticalc.org
Subject: [A83] Re: Z88DK vs. SDCC



> Van: Kirk Meyer <kirk.meyer@colorado.edu>
>
> SDCC compiled an arithmetic decoder into Z80 perfectly, and at about 1/2
the
> size and 3x the resultant speed of the same code compiled under Z88DK.
Speed
> is rather important for an arithmetic coder, where it is already rather
slow
> on a Z80. I didn't say it was perfect for all compilations, but the code
it
> produces is much better. It's still a work under progress. Z88DK even
> explicitly says they have no plans for C source code optimization. All
I'm
> saying is that I think that people who program with Z88DK will be
> disappointed by the relative size of their programs and the relative
> slowness.

Now there is a perfect solution for this:
See the status of different things:

GBDK:
- Good compiler
- post-processor can be changed so it can be used for different platforms
and assemblers(!)
- Supports the Z80 in a very good way, needs some tweaking here there
- No Z80 lib (nothing to talk about at least)
- So also no Ti support
- uses asxxxx assembler/linker (for [GB]Z80 port)

Z88DK:
- *Bad* compiler
- Compiler is interchangable, if some #pragma stuff is added to the new one
(relatively easy)
- Good (what's good?) library, at least far better than the (non-existing)
SDCC Z80 lib...
- uses Z80ASM/linker

So, we just need a couple of programmers (let's say 5) who are willing to
spend some time to "replace the engines" of the Z88DK. It seems that it
shouldn't be that difficult, we only need some (wo)manpower to do the job.

	Henk Poley




Follow-Ups: References: