Re: F# performance benchmarks
  Home FAQ Contact Sign in
comp.lang.functional only
 
Advanced search
POPULAR GROUPS

more...

 Up
Re: F# performance benchmarks         

Group: comp.lang.functional · Group Profile
Author: Markus E L
Date: Sep 3, 2007 12:30

Jon Harrop wrote:
> Joachim Durchholz wrote:
>> On the other hand, I know that your claims are often backed by personal
>> experience, so what's the actual difference that you mean?
>
> Essentially, OCaml is native to Linux and Mac OS X whereas F# is native to
> Windows.

Oh no. Don't you think you're stretching the term "native" a bit here?
What does "native" mean in this context?

- The way the language runs at the platform (native in the sense
ocamlopt produces native code) => Ocaml on Windows has at least
two native ports (MingW and VisualC). On the other side F# run in
a virtual machine of some kind. Can't be what you mean.

- Native in the sense of "has grown there": You've a point here, but
on that argument we'd have to compare C++ with C#: The first has
been invented on Unix (AFAIK) the latter is a genuin Microsoft
invention.

Also I don't see that the lanaguges themselves should run better or
worse on Linux or Windows: That is just a question of (host) compiler
or VM quality. The only sense in which F# is a windows citizen is the
ampunt of integration already achieved in terms of libraries (and the
same applies to OCaml as a Unix citizen). That has nothing to do with
the core language itself.
> To me, comparing OCaml and F# under Linux (with F# running under Mono) is
> equivalent to comparing French and Italian food bought from a French
> restaurant using the justification that buying from the same restaurant
> avoids bias.

Uuh. Bad analogies.

Well, if you have to compare, then please provide 4 data points (or better 8):

- Ocaml, F#
- 63bit and 32bit OS
- Linux and Windows

And on the same hardware, please.

The data slice that is of primary to the practical programmer is
always the same language at the same hardware under Linux and Windows.

... ff one wants to develop a portable code base. And to that end I
doubt that sticking to a common subset would be feasible: No classes
in F# and Ocaml is missing some of the .NET integration features, so
prtability of whole programs between F# and OCaml would be painful.

I liked your contributions so far (and I take back some of my critique
regarding missing scientific attitude, but not all, because I still
have the impression you're starting out "to prove that OCaml (or F#)
is faster than X" instead of going back to "I want to compare 2
languages. As a scientist I have to ask: What are the important
properties the matter in this context and how can I measure them") ...
as I said I liked your contributions so far, but recently I've got the
impression you're drifting away into obscurantism.

Sorry. I know you can do better :-). Please don't "publish" incomplete
data and then start defending that with bad analogies. There is no
natural homeland for a given programming language. They have to
perform where we want to use them. Not being at home at X is no excuse
for bad performance. We want to know how and how well they work on any
platform, not where they come from (the latter being totally
uninteresting. BTW: Is the native homeland of Java the coffee machine
or the toaster: That would explain a lot ...)

Regards -- Markus
no comments
diggit! del.icio.us! reddit!