From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,35c7a6f09461750f X-Google-Attributes: gid103376,public From: "Robert L. Klungle" Subject: Re: Ada->C++ conversion stats? Date: 2000/03/21 Message-ID: <38D722C1.8B6C58F7@gte.net>#1/1 X-Deja-AN: 600293002 Distribution: world Content-Transfer-Encoding: 7bit References: X-Accept-Language: en Content-Type: text/plain; charset=us-ascii X-Abuse-Info: Otherwise we will be unable to process your complaint properly X-Complaints-To: abuse@gte.net X-Trace: /bdhN9VxyqdAcRJzZ1rkawtHnuXJA5VDQ7kKdQJBsjNkbTfR2iUNKJqpL5BUn7o+uM5LdF/Fz3cz!/QLuuz6gT0CkEXF69ToLZfC3S6VXeqTzAIaKHtzQciSvRO2aYZ6ESxtn1w== Organization: B & D Associates MIME-Version: 1.0 NNTP-Posting-Date: Tue, 21 Mar 2000 07:22:03 GMT Newsgroups: comp.lang.ada Date: 2000-03-21T00:00:00+00:00 List-Id: tmoran@bix.com wrote: > Every once in a while we hear of something in Ada (presumably Ada 83) > being rewritten in C++. When that happens, is there a complete > redesign, or just a transliteration? If the former, how much effort > is the rewrite as compared to the original (I realize the second > time around is easier) and how does the result compare? If a > transliteration, how much effort, how many old bugs discovered > and how much debugging time for new bugs and how does the result > compare to the original. If no comparison is available, is it > because there's no record of the original or because there's no > measurement of the new version, or what? I can report on the conversion of an image tracker (MHT) from Ada83 to C++ (just finishing). Total time so far is 3.5 months to translate. If I had to do it over again, I wouldn't. The rigors of the Ada syntax make the looseness of C/C++ stand out. The C++ version execution time is 3 times slower than the original Ada. Primarily due to the implementation of an Array (Matrix) class as a Class of Vectors-of-Vectors. This was done to keep the matrix type of referencing ([][]). There is no C++ operator to overload of this kind. This is not the only contributor to execution time increases. The resulting code is clumsy compared to the original Ada. All kinds of optimizations were/are being done to keep the speed up, but the above is the best we have been able to do so far. It works just like the original, but slower. cheers...bob