Version française
Home     About     Download     Resources     Contact us    
Browse thread
OCamlJit 2.0
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Gerd Stolpmann <info@g...>
Subject: Re: [Caml-list] [Was: OCamlJit 2.0]
Am Samstag, den 20.11.2010, 08:10 -0800 schrieb Yoann Padioleau:
> On Nov 20, 2010, at 7:42 AM, Benedikt Meurer wrote:
> 
> > 
> > On Nov 20, 2010, at 16:19 , Vincent Balat wrote:
> > 
> >> On Nov 19, 2010 21:20:01, Yoann Padioleau wrote:
> >>> On Nov 19, 2010, at 11:46 AM, Dario Teixeira wrote:
> >> ...
> >>>> Actually, Facebook has a compiler that transforms PHP source code into
> >>>> C++ [1], and they claim a 50% reduction in CPU usage.
> >>> 
> >>> Yes, which is good. But if you think about it is "only" a x2 speedup vs a
> >>> really slow bytecode interpreter (the Zend PHP interpreter). PHP is known
> >>> for being more than 30 times slower than C.
> >>> It's even slower than Ruby on
> >>> http://shootout.alioth.debian.org/u32/which-programming-languages-are-fast
> >>> est.php There are lots of opportunities to do better IMHO.
> >> 
> >> Would it be completely inconceivable for a company like facebook to 
> >> reimplement everything using a fast well designed typed language
> 
> I think it is inconceivable. I doubt facebook will switch to ocaml and ocsigen tomorrow :)
> The problem is how to migrate code to another language smoothly ? You can not
> stop all development for a month and say "Hey everybody, we are porting
> our 10 millions lines of code of PHP to X.". The reason C++ succeeded was
> because there was a smooth migration path. C code is valid C++ code. You
> can incrementally add objects to an existing codebase.

It's not a matter of the technical migration. You simply wouldn't find
enough engineers that can master a "fast well designed typed
language" (assuming here you have the more advanced ones in mind :-) ).
Also, there is the question whether it is the best approach to let the
most talented developers in the company program the user interface, with
day-to-day tasks like "hey Joe, can you please fix this broken link".
(Not that there are also complicated UI's but these are rare.)

At Mylife.com (where I'm currently consulting for) large parts of the
backend are now running in Ocaml, but the web frontend is done by
another team, and there is PHP involved. IMHO, it would be a
misallocation of human resources if we (the Ocaml team) also did the
frontend.

> Do we have example of big companies porting their whole codebase to another language ?

Usually languages are only switched when a completely new project is
started.

Gerd

> >> instead of "spending hundreds of millions of dollars on machines that run PHP 
> >> bytecode interpreters"? (quoting Yoann)
> 
> Apparently they decided to keep PHP and switch from a slow bytecode interpreter
> to a 2x-faster compiler.
> 
> > 
> > It's probably not a technical decision, but more likely a marketing decision. If you tell Joe
> 
> Who is Joe ? A developer ? A user ? A venture capitalist ?
> 
> > that your webservices run on Java, PHP or .NET, he'll say "great", "sure" or "wow" (not because Joe's familiar with the technology or the theory, but because he's familiar with the terms). Tell Joe your webservices run on OCaml or Haskell and the best answer you can get will be "what?".
> 
> I doubt any user care about how facebook is implemented. Twitter and Foursquare run on Scala and
> this is not a very popular language.
> 
> 
> > 
> >> Vincent [not completely joking]
> > 
> > Benedikt
> > _______________________________________________
> > 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
> 
> 
> 
> _______________________________________________
> 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
> 


-- 
------------------------------------------------------------
Gerd Stolpmann, Bad Nauheimer Str.3, 64289 Darmstadt,Germany 
gerd@gerd-stolpmann.de          http://www.gerd-stolpmann.de
Phone: +49-6151-153855                  Fax: +49-6151-997714
------------------------------------------------------------