[Oz] Using Mozart & benchmarks
Ralf Scheidhauer
scheidhr at dfki.de
Mon Feb 8 09:05:19 CET 1999
>> :
>> :
>> Question 2. Benchmarks / Prolog (etc.) comparisons.
>> The documentation claims a performance for Oz comparable with
>> state-of-the-art Prolog and Lisp compilers.
>> That would be nice to have real figures for.
>> Also, if the Oz computation model is 'deeper'
>> and more 'fundamental / elementary' than other
>> programming paradigms, then it should be possible
>> to compile (subsets of) Prolog and Lisp into Oz.
>> There is an example of that for a functional programming
>> style in the documentation: has anybody done one
>> for Prolog as well?
>> It would be interesting to see how much of Prolog
>> can be done in Oz, and also what cannot be translated
>> so easily. That would help those of use who know Prolog
>> already to understand Oz without beginning at "square one".
>> Also, it would make speed-comparisons with other compilers
>> much easier and fairer to carry out.
>>
>> If the performance is good, and programming platform rich
>> enough compared to Prolog / Lisp / etc. then lots of
>> people, myself included, would be glad to start using
>> Oz instead of the other languages, I think, especially
>> considering the in-built interfacing and networking facilities.
Below I append a copy of an article I recently posted to
comp.lang.functional, that gives some results about performance of
Mozart compared to other programming systems. The basic message is:
the performance of Mozart does not suffer from the richness of the
language, it is competitive with other high level programming
languages and may also be significantly faster than some of them.
Regards
Ralf
>> andrew at intertrader.com wrote:
>> >
>> > Hi,
>> >
>> > I know that an exact answer depends strongly on the type of application,
>> > but can anyone give any guidance on the speed of Oz/Mozart? I realise
>> > that some features would make it much faster in "special cases" (eg many
>> > threads), but I am more interested in its speed for loops, calculations,
>> > etc - does this suffer by providing the support for the more unusual aspects
>> > of the language?
>> >
>> > (I know this is vague and the last thing I want is another series of posts
>> > where people argue about speed - maybe people would like to email me
>> > directly with their impressions rather than post something so poorly
>> > defined to the list).
>> >
>> > Cheers,
>> > Andrew
>>
>> One of the key topics of my thesis is to show how a programming
>> language like Oz can be implemented efficiently.
>>
>> In my thesis I compare Mozart with implementations of various other
>> programming languages (like ML, Java, Prolog, Common Lisp) on several
>> common (toy) benchmarks like quicksort, fib, tak, n-queens, etc.
>>
>> The Mozart implementation is based on an emulator (i.e. a byte code
>> interpreter), so this should be taken into account, when comparing it
>> with other systems, that partly generate native machine code.
>>
>> You all know about the difficulties to do a fair comparison leading to
>> suggestive results, so here are _my_ (nevertheless I doubt that other
>> people would come to significantly different results) key conclusions
>> for the simple benchmark programs I used:
>>
>> - Mozart is one of the fastest emulators (i.e. it is competitive
>> with emulated OCAML, and significantly faster than Moscow ML,
>> emulated Erlang and Sicstus Prolog for example)
>>
>> - compared to systems generating native code Mozart is up to one
>> order of magnitude slower (for example for arithmetic benchmarks,
>> for which Mozart has not been primarily designed); however for the
>> "bread and butter" applications like symbolic computations this
>> distance melts down to rarely more than a factor of 3 to 2, in
>> some cases Mozart can even be faster.
>>
>> You can get a draft copy of my thesis (which is unfortunately written
>> in german, but this does not hurt the performance figures) from
>>
>> http://www.ps.uni-sb.de/~scheidhr/thesis-draft.ps.gz
>>
>>
>> Also note that in our paper "Integrating Efficient Records into
>> Concurrent Constraint Programming", available from
>>
>> http://www.ps.uni-sb.de/Papers/abstracts/plilp96.html
>>
>> we show some performance figures focusing on the efficiency of
>> records in DFKI Oz (the predecessor of Mozart).
-
Please send submissions to users at mozart-oz.org
and administriva mail to users-request at mozart-oz.org.
The Mozart Oz web site is at http://www.mozart-oz.org/.
More information about the mozart-users
mailing list