caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] productivity improvement, Ensemble as an example
@ 2002-07-28  7:00 Ohad Rodeh
  2002-07-28  7:39 ` Dmitry Bely
  0 siblings, 1 reply; 5+ messages in thread
From: Ohad Rodeh @ 2002-07-28  7:00 UTC (permalink / raw)
  To: caml-list


Which site have you been looking at?

The Ensemble site is at www.cs.cornell.edu/Info/Projects/Ensemble, there is
a link
to it from the Horus site (www.cs.cornell.edu/Info/Projects/Horus). As for
updates,
the last time the homepage was touched was 23-July-02, and the last
distribution is
from the same date.

As for complexity, it as actually gone done, and we've been able to throw
away some
code as OCaml has evolved. I don't think C has evolved much (C99 ?) in any
way that
it had helped us.

You can take my word for it, the line count, complexity etc. in a C version
that does the
same as Ensemble was a lot higher.

      Ohad.

-----------------------------------------------------------------------------------

Ohad Rodeh
tel: +972-3-6401641
IBM Haifa, storage research


                                                                                                                           
                      Oleg                                                                                                 
                      <oleg_inconnu@myrealbo        To:       sajuma@utu.fi                                                
                      x.com>                        cc:       caml-list@inria.fr                                           
                      Sent by:                      Subject:  [Caml-list] productivity improvement (was: Rule based        
                      owner-caml-list@pauill         language)                                                             
                      ac.inria.fr                                                                                          
                                                                                                                           
                                                                                                                           
                      27/07/2002 12:08                                                                                     
                                                                                                                           
                                                                                                                           



On Wednesday 24 July 2002 06:31 pm, sajuma@utu.fi wrote:

> Anyway, problems in memory management and modularity
> only appear when the programs become big. Usually big
> programs are not written in two languages, so comparison
> is hard. But the example of Horus vs. Ensemble shows that
> there is very large improvement.

Do you have links/references? (Although the fact that ML is more productive

than C is quite believable to me) I found Horus/Ensemble web site. It looks

like it has not been updated in 5 years[1]

> [...] why are you using C++?

It's very easy to give simple examples of when C++ is much more productive
than C in programs defined by their I/O (If anyone needs such examples: a)
reverse a file, b) reverse lines in a file c) /usr/bin/sort ). The
situation
seems to be different with O'Caml vs C++.

Regards,
Oleg

[1] Maybe the complexity has cought up with them eventually :)
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives:
http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ:
http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners




-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] productivity improvement, Ensemble as an example
  2002-07-28  7:00 [Caml-list] productivity improvement, Ensemble as an example Ohad Rodeh
@ 2002-07-28  7:39 ` Dmitry Bely
  2002-07-28  8:11   ` Friedman Roy
  2002-07-29 23:49   ` Oleg
  0 siblings, 2 replies; 5+ messages in thread
From: Dmitry Bely @ 2002-07-28  7:39 UTC (permalink / raw)
  To: caml-list

"Ohad Rodeh" <ORODEH@il.ibm.com> writes:

> As for complexity, it as actually gone done, and we've been able to throw away some
> code as OCaml has evolved. I don't think C has evolved much (C99 ?) in any way that
> it had helped us.
>
> You can take my word for it, the line count, complexity etc. in a C version that does the
> same as Ensemble was a lot higher.

>> Anyway, problems in memory management and modularity
>> only appear when the programs become big. Usually big
>> programs are not written in two languages, so comparison
>> is hard. But the example of Horus vs. Ensemble shows that
>> there is very large improvement.

I am not familiar with Ensemble, but they say in its overview that

http://www.cs.cornell.edu/Info/Projects/Ensemble/overview.html
[...]
Ensemble System.

As Horus/C has matured, we have also encountered issues that recently lead
to a complete reimplementation of the system using a subset of the ML
programming language. To avoid confusion, we have begun to call this
version of our system Ensemble. The subset of ML employed for this work
translates directly into C, which can then be compiled in a normal manner,
and makes no use of ML's garbage collection features. Thus, the choice of
ML has no negative performance implications, and the code itself looks like
C++.

Does it mean that Ensemble is *not* in fact an Ocaml application? 

- Dmitry Bely


-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] productivity improvement, Ensemble as an example
  2002-07-28  7:39 ` Dmitry Bely
@ 2002-07-28  8:11   ` Friedman Roy
  2002-07-29 23:49   ` Oleg
  1 sibling, 0 replies; 5+ messages in thread
From: Friedman Roy @ 2002-07-28  8:11 UTC (permalink / raw)
  To: Dmitry Bely; +Cc: caml-list

No, I think this came from the early days of Ensemble and OCaml, when it
was not clear what performance can be obtained from OCaml.

However, nowadays Ensemble is a pure OCaml application (although it can be
compiled also with an improved implementation of sockets that was done in
C - but that's an option and is only for improving the default
implementation of sockets that comes with OCaml and to add support for
IP multicast and a few other performance optimizations which for some
reason are not supported by the default socket library of OCaml -
yet, most applications can do, in terms of performance, even with the default
implementation that comes with OCaml).

My personal experience as someone that worked with both Ensemble and Horus
(both implementing layers of the systems and using them as toolits to
implement applications) is that coding in OCaml greatly simplifies the
effort. As Ohad said, you can check Mark's paper to see specific numbers
like line counts etc. Of course, one has to take into account that
Ensemble was also a 2nd generation system, and some of the reduction in
code size came from better architecture based on the lessons learned from
Horus. Yet, my experience is that it is also greatly attributed to OCaml.

However, in terms of starting an industrial project using OCaml (and I
have been involved with a couple), I can see good reasons to avoid the
language:
1) Will the language exist in a couple of years? What happens if INRIA
decides to stop supporing it?
2) There is still no reasonable IDE!!!!!
3) Snowball effect - programmers do not want to use a language that will
probably not be useful for them in their next working place.

Items (1) and (2) can be solved by INRIA. Item (3) is the job of academia:
we need to do a better job educating our students about the benefits of
OCaml...

That was my 2 cents... cheers,

Roy

> As Horus/C has matured, we have also encountered issues that recently lead
> to a complete reimplementation of the system using a subset of the ML
> programming language. To avoid confusion, we have begun to call this
> version of our system Ensemble. The subset of ML employed for this work
> translates directly into C, which can then be compiled in a normal manner,
> and makes no use of ML's garbage collection features. Thus, the choice of
> ML has no negative performance implications, and the code itself looks like
> C++.
>
> Does it mean that Ensemble is *not* in fact an Ocaml application?
>
> - Dmitry Bely


-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] productivity improvement, Ensemble as an example
  2002-07-28  7:39 ` Dmitry Bely
  2002-07-28  8:11   ` Friedman Roy
@ 2002-07-29 23:49   ` Oleg
  1 sibling, 0 replies; 5+ messages in thread
From: Oleg @ 2002-07-29 23:49 UTC (permalink / raw)
  To: caml-list

On Sunday 28 July 2002 03:39 am, Dmitry Bely wrote:
> I am not familiar with Ensemble, but they say in its overview that
>
> http://www.cs.cornell.edu/Info/Projects/Ensemble/overview.html
> [...]
> Ensemble System.
>
> As Horus/C has matured, we have also encountered issues that recently lead
> to a complete reimplementation of the system using a subset of the ML
> programming language. To avoid confusion, we have begun to call this
> version of our system Ensemble. The subset of ML employed for this work
> translates directly into C, which can then be compiled in a normal manner,
> and makes no use of ML's garbage collection features. Thus, the choice of
> ML has no negative performance implications, and the code itself looks like
> C++.
>
> Does it mean that Ensemble is *not* in fact an Ocaml application?

By that, they seem to be saying that C++ would have done an equally good job 
at improving the productivity over C.

Regards
Oleg
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] productivity improvement, Ensemble as an example
@ 2002-07-30  5:45 Ohad Rodeh
  0 siblings, 0 replies; 5+ messages in thread
From: Ohad Rodeh @ 2002-07-30  5:45 UTC (permalink / raw)
  To: caml-list

Well, Roy already wrote that that part of the introduction was old and out
of date.

      Ohad.

-----------------------------------------------------------------------------------

Ohad Rodeh
tel: +972-3-6401641
IBM Haifa, storage research


                                                                                                                                
                      Oleg                                                                                                      
                      <oleg_inconnu@myrealbo        To:       caml-list@inria.fr                                                
                      x.com>                        cc:                                                                         
                      Sent by:                      Subject:  Re: [Caml-list] productivity improvement, Ensemble as an example  
                      owner-caml-list@pauill                                                                                    
                      ac.inria.fr                                                                                               
                                                                                                                                
                                                                                                                                
                      30/07/2002 02:49                                                                                          
                                                                                                                                
                                                                                                                                



On Sunday 28 July 2002 03:39 am, Dmitry Bely wrote:
> I am not familiar with Ensemble, but they say in its overview that
>
> http://www.cs.cornell.edu/Info/Projects/Ensemble/overview.html
> [...]
> Ensemble System.
>
> As Horus/C has matured, we have also encountered issues that recently
lead
> to a complete reimplementation of the system using a subset of the ML
> programming language. To avoid confusion, we have begun to call this
> version of our system Ensemble. The subset of ML employed for this work
> translates directly into C, which can then be compiled in a normal
manner,
> and makes no use of ML's garbage collection features. Thus, the choice of
> ML has no negative performance implications, and the code itself looks
like
> C++.
>
> Does it mean that Ensemble is *not* in fact an Ocaml application?

By that, they seem to be saying that C++ would have done an equally good
job
at improving the productivity over C.

Regards
Oleg
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives:
http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ:
http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners




-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2002-07-30  6:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-07-28  7:00 [Caml-list] productivity improvement, Ensemble as an example Ohad Rodeh
2002-07-28  7:39 ` Dmitry Bely
2002-07-28  8:11   ` Friedman Roy
2002-07-29 23:49   ` Oleg
2002-07-30  5:45 Ohad Rodeh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).