[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::amiga_v1

Title:AMIGA NOTES
Notice:Join us in the *NEW* conference - HYDRA::AMIGA_V2
Moderator:HYDRA::MOORE
Created:Sat Apr 26 1986
Last Modified:Wed Feb 05 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:5378
Total number of notes:38326

786.0. "Source Level Debugger" by LDP::MCCARTHY () Fri Oct 09 1987 19:14

	In the latest Amiga World (November), there's an ad for MANX's
        Source Level Debugger, along with version 3.6 of the complier.
        The debugger costs $75.  They offer a demo disk for $5.00.  I
        called about this, and they said that it would be available at
        the end of November.

        I currently own Lattice, but a source level debugger could make
        me switch.  Does anyone know anything more?  Is there any plans
        for a source level version of Metascope?

        Mike
T.RTitleUserPersonal
Name
DateLines
786.1Lattice 4.0TLE::RMEYERSRandy MeyersTue Oct 13 1987 02:2426
Re: .0

Lattice just released their version 4.0 compiler.  It doesn't include
source debugging.  So Manx is the compiler of choice if you want source
level debugging.

That is the bad news about Lattice.  The good news is that they have
significantly improved their compiler.  They now produce significantly
smaller and faster code than Manx, at least for certain selected benchmarks
:-).

Actually, it does should like Lattice's runtime performance is good.  I talked
to one of their developers at AmiExpo.   Lattice 4.0 now generates inline
code for many common functions like strcpy, strlen, etc.  The compiler
calls Amiga functions directly by loading the function arguments directly
into the needed argument registers and by doing a call indirect into
the library transfer vectors.  The compiler now scans the format string
for printf and converts the call into a call to a smaller faster special
purpose routine if possible.  Better use of 68000 addressing modes is made.

The Lattice assembler included with the compiler is now Metacomco compatible.
In other words, it can read the official Amiga assembler include files, and
thus is practical for serious development.

The upgrade from version 3.10 to version 4.0 costs $45.  They will upgrade
any older version (including Amiga C from Commodore) to 4.0 for $65.
786.2?NAC::VISSERTue Oct 13 1987 12:394
re. .1
    > Actually, it does should like Lattice's runtime performance is good.
    
    What does this mean?
786.3CURE::WISNERTue Oct 13 1987 14:553
    It looks like MANX has a better development environment and Lattice
    produces better code.  How do the prices compare?  (Lattice 4.0
    vs MANX + Source Level Debug)
786.4compiler notes...VIDEO::LEIBOWTue Oct 13 1987 15:0519
    I have many things to say, but I am in a hurry, so I'll make them
    short.
    
    1) A compilers speed can not be tested by one or two benchmarks.
       The output code from a compiler is tested by HUNDREDS of
       benchmarks.  A compiler can be special cased to make incredibly
       efficient code for a few benchmarks while making stink code
       for the rest of the real world.
    2) MANX Aztec C has enough utilities that will save a programmer more
       time than they would spend running lattice applications.  The
       linker in Aztec C is many times faster then Lattice.  Everytime
       I link Smokey, it takes around 45 seconds.  If I do it with lattice,
       it takes over 4 minutes.  Aztec C will compile your header files.
       That, alone, improves compile time on Smokey by over 400%.
    3) They both cost about the same.
    
    I have to go....
    
    		--Mike
786.5Cost of compilers ?LEDS::PIMMoved .... but not forgottenTue Oct 13 1987 17:517
    I went looking for a C compiler a few days ago and was offered the
    Manx for about $500.- and the Lattice for about $250.- .
    
    Is this overpriced ? reasonable ?  .....
             
    
    Ivan Pim.
786.6Who needs drugs when you are like this anyway?TLE::RMEYERSRandy MeyersTue Oct 13 1987 19:1810
Re: .2

It means spending three days in New York city will addle your brain,
particularly if you are addled much of the time anyway.

What I meant to say was: "Actually, it does look like Lattice's runtime
performance should be good."

I hope all my postings last night were not like that.  Sigh.

786.7Z::TENNYDave Tenny - VAX LISP DevelopmentTue Oct 13 1987 19:3415
re: .5

It depends what you need.  I don't know how good the Lattice
price is, but it's surely cheaper from ABEL supply (ditto Manx).

It sounds like the manx version is the Commercial version,
more than most people need (source for all library functions,
a couple of utilities).

I have the developer's version, which retails for $250-300,
I think this is overpriced.  Again, try ABEL when you decide
which compiler to buy.  ABEL's price list is elsewhere in 
this conference.

Dave
786.8VIDEO::LEIBOWTue Oct 13 1987 21:2512
    I bought the developers version for $205 at Software Shop.  It was
    well worth the extra twenty bucks.  For the extra 20, I got a whole
    bunch of useful utilities such as Make, Vi, DB (debugger), ln (a
    much better linker then Alink),...etc....
    
    RE: { Lattice Performance }
    	Has anyone seen any real reviews on the performance.  One or
    two benchmarks _*HARDLY*_ shows the performance of a compiler. 
    I did compiler design at my previous job, and they used over 500
    benchmarks to get an idea on performance.
    
    	--Mike
786.9Lattice's Runtime PerformanceTLE::RMEYERSRandy MeyersWed Oct 14 1987 02:3438
About Lattice Performance and Benchmarks:

Several people seem to have misinterpreted my posting .1 as making an
absolute comparison between the runtime performance of Lattice versus
Manx programs.  I did not.  Since as .2 pointed out, I wasn't being a
paragon of clarity, so I will try restating what I meant.

Lattice has just released a new version for which claim dramatic increases
in code quality.  It even produces significantly better code for at least
a couple of benchmarks.  (At this part, some people seem to have ignored the
smilely face on my posting, so I'll replace the smilely face with text.)  This
doesn't necessarily mean that Lattice will produce better code than Manx
in general.   Remember there is one one benchmark that is any good: the
program you are currently working on.

However, it does look like Lattice has made substantial improvements.  I
talked to the fellow who worked on the Lattice code generator for several
minutes trying to get a feel for what optimizations they do in their new
compiler.  Since I have worked compilers for ten years, I felt that if I
heard what the new improvements were, I might be able to deduce how much
the average program might benefit.  It does look like many programs could
expect to see major improvements.  Probably the single most important
improvement is that version 4.0 supposedly makes much better use of the
68000's addressing modes.  Proper use of addressing modes is the single
most important bread-and-butter job in code generation (for machines with
conventional architectures at least).  Sexier optimizations performed
by Lattice are generating in-line code for certain simple library functions
and directly calling Amiga native library functions directly.  Their compiler
even scans the printf format string to see if it can convert the call
into a call to simpler Lattice-only functions.

So it looks like the average programmer can expect to see improvements
in code speed and size when moving from previous versions of the Lattice
compiler to the newest version.  Whether or not Lattice produces smaller
and faster code in general than Manx remains to be seen.  However, it is
safe to say that the past differences in this area have been reduced, and
for a few cases at least (the ones that Lattice quotes in their ad :-))
even turned around.
786.10Where is AbelLEDS::PIMMoved .... but not forgottenWed Oct 14 1987 13:486
    re .7 
    
    I couldn't find the Abel price list here in the conference.
    
    I'm new to the USA: who or what is Abel, How do I get in contact.
    Are they mail order ? or just a cheep store ?
786.11Manx, Lattice, GnuWHYVAX::KRUGERWed Oct 14 1987 15:0617
    re .9
    
    It sounds like Lattice is starting to move in the right direction.
    I have looked at the output of Manx 3.4 and Lattice 3.X? (last version)
    and both are absolute crap. They don't even attempt to allocate
    registers unless you use the register qualifier.  Given the
    not-quite-orthogonality of the 68000, that often means they store
    the result in D0 (their fix-up register) and MOVE it to the correct
    place. Ugh! Actually, I have only seen one good 68xxx compiler,
    and that is GNUcc. It's a bit slow, but when you optimize, the code
    is TIGHT! If I can find that benchmark, I'll post it. It uses the
    awesome 68020 modes in optimize mode, so they can do array references
    in a single instruction. ie:
    
    	x[i] would be x(i*4) for a longword (yes, 68020's do this!)
    
    dov
786.12finding a lost noteWHYVAX::KRUGERWed Oct 14 1987 15:075
    re .10
    
    try:
    
    dir/title="abel"
786.13Poor Code GenerationTLE::RMEYERSRandy MeyersWed Oct 14 1987 18:4010
Re: .11

As far as I can tell, compilers that do global optimization are still
rare in microcomputer industry.  Even locally optimal code isn't that
common.

I was really disappointed with Lattice when I saw that version 3.10 could
not generate instructions that use autoincrement and autodecrement
addressing even when a pointer had been assigned to a register.  They
certainly had room for improvement.