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 X-Google-Thread: 1094ba,99a6311c4195e21b X-Google-Attributes: gid1094ba,public X-Google-Thread: 103376,99a6311c4195e21b X-Google-Attributes: gid103376,public From: Brian Rogoff Subject: Re: Matrix Multiplication Date: 1999/12/16 Message-ID: #1/1 X-Deja-AN: 561562554 Content-Transfer-Encoding: QUOTED-PRINTABLE References: <385699B5.59C14D03@lmco.com> <01bf4708$99ef98f0$022a6282@dieppe> <83a83t$qnb$1@clnews.edf.fr> Content-Type: TEXT/PLAIN; charset=X-UNKNOWN X-Trace: nntp1.ba.best.com 945360729 232 bpr@206.184.139.136 MIME-Version: 1.0 Newsgroups: comp.lang.ada,comp.lang.fortran Date: 1999-12-16T00:00:00+00:00 List-Id: On Thu, 16 Dec 1999, Pascal Obry wrote: > Robert A Duff a =E9crit dans le message : > wcchfhkxjeg.fsf@world.std.com... > > I do. A fast language is one for which it is feasible to build > > compilers that generate fast code. A slow language is one for which > > that is not feasible. >=20 > I pretty well understand that, but we are then talking about implementati= on > in a compiler. >=20 > > Also I prefer to put the burden of proof on the language advocates -- > > that is, a language should be considered "slow" until proven "fast" by > > the existence of at least one good production-quality compiler. > > > > By this definition, Smalltalk, for example, is slow -- I've never seen = a > > Smalltalk compiler that can generate fast code. Furthermore, it seems I like Bob Duff's definition, though it probably needs a bit more elaboration. A few years ago Richard O'Keefe posted some interesting=20 microbenchmarks to comp.lang.ada comparing Pascal, Scheme, and Ada=20 programs for two dimensional integration using downward funargs, with the= =20 (GNAT) Ada code using generics to simulate this. The Scheme code was the fastest. The Scheme compiler was an aggressive whole-program optimizer=20 called Stalin. Despite the success of this microbenchmark, and Stalin, I=20 suspect that Scheme would be classified as a "slow" language, like Smalltalk, this compiler not proving itself "production quality" yet. =20 So what's the litmus test for being production quality? > Ok, we have never seen one, but is it really impossible ? I do remember > something about IBM creating a Smalltalk compiler, is that true ? How > fast was it ? You can create compilers for any language. However, Smalltalk keeps a lot of info around at runtime, so for example, when doing integer arithmetic=20 you get transparent overflow into bignums if you need them. That costs! If your Smalltalk were to make each element of a float or complex array a= =20 self identifying (tagged) object then I guarantee you Smalltalk numerical= =20 linear algebra will run much slower than Fortran or Ada! -- Brian