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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,703c4f68db81387d X-Google-Thread: 115aec,703c4f68db81387d X-Google-Thread: f43e6,703c4f68db81387d X-Google-Thread: 108717,a7c8692cac750b5e X-Google-Attributes: gid103376,gid115aec,gidf43e6,gid108717,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!newsfeed.stanford.edu!sn-xit-02!sn-xit-06!sn-post-02!sn-post-01!supernews.com!corp.supernews.com!not-for-mail From: CTips Newsgroups: comp.lang.ada,comp.realtime,comp.software-eng,comp.programming Subject: Re: 10 rules for benchmarking (was Re: Teaching new tricks to an old dog (C++ -->Ada)) Date: Fri, 11 Mar 2005 15:36:05 -0500 Organization: Posted via Supernews, http://www.supernews.com Message-ID: <11340afoijql22e@corp.supernews.com> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041217 X-Accept-Language: en-us, en MIME-Version: 1.0 References: <4229bad9$0$1019$afc38c87@news.optusnet.com.au> <1110032222.447846.167060@g14g2000cwa.googlegroups.com> <871xau9nlh.fsf@insalien.org> <3SjWd.103128$Vf.3969241@news000.worldonline.dk> <87r7iu85lf.fsf@insalien.org> <1110052142.832650@athnrd02> <1110284070.410136.205090@o13g2000cwo.googlegroups.com> <395uqaF5rhu2mU1@individual.net> <112rs0bdr2aftdf@corp.supernews.com> <1inxxr988rxgg$.1w9dedak41k89.dlg@40tude.net> <112s1r0rf0o8nca@corp.supernews.com> <112sonip5v4dca6@corp.supernews.com> <112t3de6fu04f38@corp.supernews.com> <1110396477.596174.285520@o13g2000cwo.googlegroups.com> <112vb2t8eonuhed@corp.supernews.com> <1110422108.925127.54110@o13g2000cwo.googlegroups.com> <11329cb96h2p19f@corp.supernews.com> <1133rhdt7dan4fa@corp.supernews.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@supernews.com Xref: g2news1.google.com comp.lang.ada:9171 comp.realtime:1309 comp.software-eng:4877 comp.programming:17832 Date: 2005-03-11T15:36:05-05:00 List-Id: REH wrote: > "CTips" wrote in message > news:1133rhdt7dan4fa@corp.supernews.com... > >>Based on this thread, I think most of the Ada advocates here (and maybe >>most Ada programmers) >>- don't know how a processor works >>- don't know how to measure performance >>- don't know how to program for performance >>- don't know where Ada will hurt performance >>- don't really care about performance >> >>This is pretty much in line with my experience. The Ada advocates (I've >>known several) don't really know how to program for performance. All the >>people I know who program for performance pick C (if they have the > > choice). > > Then you don't know much. Ada programmers, and programmers in general care > about a lot more than performance. Performance is not the end-all-be-all of > building software. You can write crap that takes 1us to execute, and I'll > wite good, fault-tolerance code that runs in 1ms, but still meets all its > requirements and real-time deal-lines. I'll take the later. This faster is > better crap is utter non-sense, and it usually exhibited in inexperienced > engineers (and the immature ones). I write Ada, C, and C++ professionally, > so I guess I no "advocate." I also would not make snide, inappropriate, > unnecessary, childish, and down right wrong statement about anyone who is > one. Ada programmers usually work in the world of real-time software where > there are many kinds of "performance." When you can do monotonic-rate > analysis, et. al., like some Ada Engineers I know, then come talk to me > about knowing how to measure performance. > Ummm...you're talking to the wrong guy here. I have written significant chunks of: - optimizing compilers (including things like software pipelining, register allocation, various whole program analyses etc.) - OSes & RTOSes (including schedulers, device drivers, filesystems, interrupt handler subsystems, synchronization mechanisms etc.) - JITs (Java and ISA simulators) - cycle accurate microprocessor simulators (for one of the high-end microprocessors shipping now) - event-driven hard-real-time programs - synthesis tools - profiling tools that use performance counters. - real time DSP programming Probably over a million loc of shippable code at this point... Apart from that I've done some full-custom and synthesis hardware design. Rate-monotonic analysis is pretty basic stuff compared to some of the other stuff I've done. Based on what I've seen, I still maintain that most Ada programmer don't know how to get decent performance.