Slate: extreme optimization

Lee Salzman lsalzman1 at cox.net
Wed Jul 28 17:56:23 PDT 2004


It's possible, but not very probable. Self is possibly the closest of 
the Smalltalk family, coming in IIRC at half the speed of C on numeric 
benchmarks. Even then C is slower than other languages, so it's all 
relative. 

If you truely wanted C++ performance or better a whole system compiler
would likely be necessary, which is not out of the question. For dynamic
compilation, I think the best you could really achieve is on par with
some of the top Java interpreters like IBM's or Sun's. Slate has more
dynamic baggage than Java that needs to be optimized away, but inlining
can go a long way to getting rid of it where necessary.

I look at it a bit differently, though. At this point I have been writing 
C/C++ code for about a decade, and I am utterly sick of it. There is so
much more I can do in a language like Slate than I could in a similar
amount of C/C++. The C/C++ environments are too static and closed off,
which makes working with them a pain. So even if you have to sacrifice
an order of magnitude in performance, you end up getting a lot more in
return. If you view Slate not as a language, but something that will
supercede an operating system, IDE, user environment, etc., then it doesn't
matter a whole lot what the speed of C/C++ is, because it's not just a 
language.

It's not about making Slate as fast as C/C++, it's about making Slate as 
fast as Slate can possibly be! That may be slower than C/C++, or it could 
be faster even still! Even if Slate was 1/10 the speed of C/C++ at its
most optimized, I still would never touch C/C++ again.

Lee

On Wed, Jul 21, 2004 at 07:22:17PM +0200, Waldemar Kornewald wrote:
> Hi Lee,
> contratulations to your progress with Slate!
> 
> Now to my question: Is it possible to make Slate compile code as efficient/fast as C++? If yes, how long would the compilation take? I would like to use Slate as a complete C++ replacement (in the distant future), e.g.: for scientific or multimedia applications. I would accept compilation times that are five times longer than equivalent C++ code as only some small critical modules would have to be optimized, anyway.
> Do you think this is possible?
> <wondering>If so, why did no LISP or Smalltalk implement it?</wondering>
> With interchangable GC+scheduling algorithms for specific modules/apps this could lead to a very cool language that can solve all tasks. Sounds more like a dream, heh? ;)
> 
> Bye,
> Waldemar




More information about the Slate mailing list