[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 1999-10-13 (07:10) |
From: | skaller <skaller@m...> |
Subject: | Re: speed versus C |
Gerd Stolpmann wrote: > I was surprised by Caml when I tried it because it was not so slow than I > expected. My point is that there are even some practically useful constructs in > Caml which are faster than the construct a programmer would typically choose in > the same situation in the "traditional" language. I can even imagine that > functional languages are some day faster than traditional ones because medium- > and high-level optimizations are better applicable. But this is only a dream. I do not think it is a dream at all, but current reality with ocaml, using it where it performs well. For example, a naive interpreter for Python in ocaml is bound to be slower than C. However, much sophistication is possible, such as infering types, eliding dynamic lookup by string names, and recognising various patterns, which, when implemented in C, would likely cost a similar amount of processor time -- and take 10-100 times longer to code, and remain unreliable. Perhaps C++ would reduce the coding time to only 10 times longer, and improve the reliability. But, for example, to add GC to Python, is non-trivial in C, whereas in ocaml it is quite easy :-) Consider also, FISh is an algol like language, like Ocaml mixing functional and imperative features, and it outperforms C and Fortran for the same applications. [For example, FISh quicksort is faster than the C standard library qsort, because there is no function calling overhead] I think my point is that it isn't 'only a dream', many people are not only dreaming, but implementing some of it. [including the ocaml developers, for many years now]. -- John Skaller, mailto:skaller@maxtal.com.au 1/10 Toxteth Rd Glebe NSW 2037 Australia homepage: http://www.maxtal.com.au/~skaller downloads: http://www.triode.net.au/~skaller