Path: utzoo!attcan!uunet!samsung!munnari.oz.au!metro!news From: graham@maths.su.oz.au (Graham Matthews) Newsgroups: comp.lang.eiffel Subject: Re: Eiffel and Efficiency Issues Message-ID: Date: 11 Jun 90 01:34:05 GMT References: <489@tetrauk.UUCP> Sender: news@metro.ucc.su.OZ.AU (news) Organization: Uni Computing Service, Uni of Sydney, Australia Lines: 22 In <489@tetrauk.UUCP> rick@tetrauk.UUCP (Rick Jones) writes: >In article graham@maths.su.oz.au (Graham Matthews) writes: >>In the Eiffel reference manual there are claims that Eiffel code (ie: C code >>generated by Eiffel) executes 20-25% (I think these figures are right?) >>slower than native C code. >> >>Can anyone tell me why this is? Is it just poor quality C code produced from >>the front end that is the cause of the problem? >> >have _no_ assertion checking, no garbage collection, and compile the C-package >version of your program. Most of this overhead is due to the look-ups involved >in making feature calls (have you ever looked at the generated C code? - it can >give C compilers a hard time!). ISE say they are working on improving the >efficiency of the generated code - I'm looking forward to seeing 2.3. Can these lookups not be performed at compile time? I have had a pretty close look at Eiffel over the last year, and it would seem to me that most of these lookups do not need to be at run-time, but can be worked out at compile time. After all the class lattice cannot change at run-time. graham