Article View: bln.comp.lang.opal
Article #209Re: Code Optimierung ?!
From: Klaus Didrich
Date: Fri, 15 Nov 1996 00:00
Date: Fri, 15 Nov 1996 00:00
82 lines
4299 bytes
4299 bytes
In article <Pine.SUN.3.91.961115072603.3801A-100000@arvika.cs.tu-berlin.de> Henry Hoffmann <admiral@cs.tu-berlin.de> writes:
> mich stoerte folgende Formulierung :
> DEF quersumme == \\n. IF eqs(n)<10 THEN eqs(n) ELSE quersumme(eqs(n)) FI
^^^^^^ ^^^^^^ ^^^^^^
> - oder noch besser : ist OPAL gut genug die mehrfache Verwendung der
gleichen Funktion mit dem gleichen Parameter im
gleichen \\-Term zu erkennen und zu optimieren ?
Ebendieses. Der Opal-Compiler fuehrt so ziemlich alle
Standard-Optimierungen durch (je nach Einstellung). Dazu geh�rt auch
das Erkennen gemeinsamer Teilausdr�cke (Common Subexpression
Elimination).
Ein Artikel, in dem mehr �ber die Optimierungen des Opal-Compilers
steht, ist dieser
http://uebb.cs.tu-berlin.de/papers/published/DesignImplOpal.html
> ... falls nicht optimiert wird, und nicht optimiert werden kann, bin ich
> eigendlich nicht bereit zu glauben, dass OPAL fast gleich "schnell" wie C
> ( mit evnt. In-Line-Assembler ) sein soll ?!?
Benchmarking ist immer so'ne Sache (traue keiner Statistik, die Du
nicht selbst gef�lscht hast :-). Was das "gleich schnell" betrifft:
f�r Programme mit einfachen Datentypen ist der Unterschied groesser
(10fach); sobald aber Speicherverwaltung und Strukturen mit rekursiven
Datentypen (Liste, B�ume) ist der Opal-Compiler meist ebensogut oder
besser als der durchschnittliche Programmierer.
Vor einiger Zeit gab es einen "Wettbewerb", in dem mehrere Compiler
und Interpreter untereinander und mit einem C-Programm verglichen
wurden.
@Article{ hfa+96a,
author = {P. H. Hartel and M. Feeley and M. Alt and L. Augustsson
and P. Baumann and M. Beemster and E. Chailloux and C. H.
Flood and W. Grieskamp and J. H. G.\ van Groningen and K.
Hammond and B. Hausman and M. Y. Ivory and R. E. Jones and
J. Kamperman and P. Lee and X. Leroy and R. D. Lins and S.
Loosemore and N. R\"ojemo and M. Serrano and J.-P. Talpin
and J. Thackray and S. Thomas and P. Walters and P. Weis
and P. Wentworth},
title = {Benchmarking Implementations of Functional Languages with
``Pseudoknot'', a {Float-Intensive} Benchmark},
journal = {J. of Functional Programming},
volume = {to appear},
year = {1996},
keywords = {functional programming, benchmark, pseudoknot, Opal},
location = {ftp://ftp.fwi.uva.nl/pub/computer-systems/functional/reports/JFP_pseudoknotI.ps.Z} ,
}
Das Papier liegt auch lokal hier unter
/home/uebb/wg/text/papers/pseudoknot.ps
> p.s. noch ne Frage : ist Opal in den math. Operationen voll auf die
Addition zurueckgefuehrt, oder werden die
Faehigkeiten der CPU
ausgeschoepft ? ( ich frage nur weil uns
Definitionen fuer die Subtraktion vorgesetzt werden
?!)
Keine Sorge, Nat, Int und Real sind sogenannte "handkodierte"
Strukturen, die direkt die Operationen von C benutzen.
MfG
Klaus
P.S.: Followup-To: bln.comp.lang.opal, da das hier nichts mehr mit der
LV Informatik 1 zu tun hat.
--
_______________________________________________/\/\______________/\/\_
Klaus Didrich _/\/\__/\/\________/\/\_
kd@cs.tu-berlin.de _/\/\/\/\______/\/\/\/\_
http://www.cs.tu-berlin.de/~kd _/\/\/\/\____/\/\__/\/\_
_______________________________________________/\/\__/\/\____/\/\/\/\_
Technical Details
Message-ID:
<KD.96Nov15152219@polyxena.cs.tu-berlin.de>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<Pine.SUN.3.91.961115072603.3801A-100000@arvika.cs.tu-berlin.de>Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII X-Google-Thread: 108421,2adbbfa013913b6d,start X-Google-Attributes: gid108421,public X-Google-Thread: 1056ea,664f11565938fa10 X-Google-Attributes: gid1056ea,public From: kd@polyxena.cs.tu-berlin.de (Klaus Didrich) Subject: Re: Code Optimierung ?! Date: 1996/11/15 Message-ID: <KD.96Nov15152219@polyxena.cs.tu-berlin.de> X-Deja-AN: 196746931 references: <Pine.SUN.3.91.961115072603.3801A-100000@arvika.cs.tu-berlin.de> followup-to: bln.comp.lang.opal content-type: text/plain; charset=iso-8859-1 organization: TU Berlin Fachbereich Informatik mime-version: 1.0 newsgroups: bln.comp.lang.opal,bln.lv.tub.cs.informatik1