Xref: utzoo comp.compilers:957 comp.lang.eiffel:954 Path: utzoo!attcan!uunet!samsung!usc!snorkelwacker!spdcc!esegue!compilers-sender From: burtonl@cognos.uucp (Burton Leathers) Newsgroups: comp.compilers,comp.lang.eiffel Subject: Re: Eiffel and Efficiency Issues Keywords: eiffel, code, optimize Message-ID: <1990Jun14.032202.5458@esegue.segue.boston.ma.us> Date: 14 Jun 90 03:22:02 GMT References: Sender: compilers-sender@esegue.segue.boston.ma.us Reply-To: burtonl@cognos.uucp (Burton Leathers) Followup-To: comp.compilers Organization: Cognos Inc., Ottawa, Canada Lines: 42 Approved: compilers@esegue.segue.boston.ma.us It was asked what contributes to the ~25% performance disadvantage of Eiffel relative to C. It should first be noted what is directly comparable: flow control within functions and expressions evaluation. It is true that garbage collection imposes an overhead. I have not had an opportunity to compare the Eiffel automatic garbage collection with manual methods but suspect that by virtue of the n-square algorithm employed that it is some part of the Eiffel cost. It is true that feature selection is not free - although it is no worse than C++. There is a startup cost associated with feature selection which can be irritating and could probably be eliminated. (Look at the INIT and DIVE routines in a C package.) Some tests I have conducted using a SUN 3/60 measure the selection cost at about 5 microseconds. It is possible that an entirely different approach could reduce this cost to a single indexed indirection (less than a microsecond). The killer in the tests I have done point to function invocation. On a SUN 3/60, every feature call - not attribute reference - imposes an overhead in excess of 200 microseconds. This is very painful but, as was pointed out in Meyer's recent posting on the shortcomings of the current implementation of Eiffel, is being addressed. Send a croissant to ISE to fuel the developers in this effort. As an incurable fan of the Eiffel language I cannot help being disappointed that the current implementation is not faster than it is. At least we have seen evidence of improvement and can expect more. It is comforting to know that Eiffel is likely to get fast sooner than another language is likely to get good. Burton -- Burton Leathers 3755 Riverside Dr. decvax!utzoo!dciem! Cognos Incorporated P.O. Box 9707 nrcaer!cognos!burtonl (613) 738-1440 Ottawa, Ontario CANADA K1G 3N3 -- Send compilers articles to compilers@esegue.segue.boston.ma.us {spdcc | ima | lotus| world}!esegue. Meta-mail to compilers-request@esegue.