Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site brl-vgr.ARPA Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!ihnp4!zehntel!hplabs!hao!seismo!brl-tgr!brl-vgr!gwyn From: gwyn@brl-vgr.ARPA (Doug Gwyn ) Newsgroups: net.physics Subject: Re: VMS vs. Unix (timings) Message-ID: <345@brl-vgr.ARPA> Date: Tue, 26-Jun-84 20:45:32 EDT Article-I.D.: brl-vgr.345 Posted: Tue Jun 26 20:45:32 1984 Date-Received: Sun, 1-Jul-84 02:55:27 EDT References: <359@noao.UUCP> Organization: Ballistics Research Lab Lines: 24 I do not understand these (Fortran & C on UNIX & VMS) benchmark results. I took the posted C source code and got execution time not much worse than the reported VMS Fortran (single-precision) time. More interestingly, the C source code was written the way a Fortran programmer would write it; doing the obvious things that an experienced C programmer would have done in the first place doubled the speed of execution, placing the UNIX C version well ahead of even the reported VMS Fortran times: Using BRL UNIX System V emulation on 4.2BSD, VAX-11/780 with FPA: C code as posted 38.1 sec user time, 1.4 sec system time proper C code 18.9 sec user time, 0.9 sec system time I think the moral is: "Do not believe benchmarks unless you control them." A secondary moral is that professionally-written C code can be as fast as the machine will allow (give or take a few percent improvement possible by tweaking assembly language), so that the language performance argument made in favor of Fortran is bogus. I would love to see a Fortran programmer take some of my favorite C code using linked data structures and make it work at all using Fortran, let alone work well. (I used to do this sort of thing before C became available, and it is really hard to do right in portable Fortran.)