Version française
Home     About     Download     Resources     Contact us    
Browse thread
RE: [Caml-list] Interactive technical computing
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Robert Fischer <RFischer@R...>
Subject: RE: [Caml-list] Interactive technical computing
> Can you dynamically load code and get native performance? Not with OCaml.
>
> I've got a killer high-performance 2D and 3D visualization library written in 
> OCaml and I'd like to sell it, but I don't want to sell the source code 
> because I value it too much. What can I do? Well, I can port it to F# and 
> sell it there. In the mean time, OCaml users are stuck with GNUPlot.
>
Do you have metrics showing that performance is better with F# than OCaml in these two cases?

>From what I understand, F# has a major performance issue resulting from the way the .Net VM handles allocation.  Is that old info?

> Can you compile to a cross-platform format and keep native performance? Not 
> with OCaml.
>
F# goes to byte code, OCaml goes to byte code.  If you want to be "cross-platform", you're pretty much headed to a VM one way or another.

> Can you write an interactive environment (top level) and keep native 
> performance? Not with OCaml.
>
The top-level is something I've been hacking on a bit, and I am a bit cranky with it right now, too.  I'll post something on it later.

> Can you link to libraries (e.g. OpenGL) and be cross-platform? Not with OCaml 
> (I think, because you need a custom run-time).
>
What are you doing with F# where you see it as more "cross-platform" than OCaml?  I guess I don't understand the charge.

>From what I understand, your basic argument is "F# is cross-compatible with the .Net framework, and therefore better".  This is definitely something I agree with.  If I trusted the .Net framework to ever become and remain genuinely cross-platform (I expect Mono to be killed by vicious attack lawyers as soon as MS cares), I'd be a lot more inclined to use it.

~~ Robert.


-----Original Message-----
From: caml-list-bounces@yquem.inria.fr
[mailto:caml-list-bounces@yquem.inria.fr]On Behalf Of Jon Harrop
Sent: Friday, March 09, 2007 7:49 AM
To: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] Interactive technical computing


On Friday 09 March 2007 13:33, Robert Fischer wrote:
> > They don't make binary shared libraries
> > because the architecture is a virtual machine driven by
> > bytecode .. they DO make dynamically linkable bytecode
> > libraries.
>
> As long as you play within the bounds of their VM.  This is no different
> than Ocaml.

On the contrary, it is very different:

Can you dynamically load code and get native performance? Not with OCaml.

Can you compile to a cross-platform format and keep native performance? Not 
with OCaml.

Can you write an interactive environment (top level) and keep native 
performance? Not with OCaml.

Can you link to libraries (e.g. OpenGL) and be cross-platform? Not with OCaml 
(I think, because you need a custom run-time).

I've got a killer high-performance 2D and 3D visualization library written in 
OCaml and I'd like to sell it, but I don't want to sell the source code 
because I value it too much. What can I do? Well, I can port it to F# and 
sell it there. In the mean time, OCaml users are stuck with GNUPlot.

-- 
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
OCaml for Scientists
http://www.ffconsultancy.com/products/ocaml_for_scientists

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs