[REBOL] Re: Cross-language benchmarking
From: joel:neely:fedex at: 6-Nov-2002 7:56
Hi, Carl, and all,
OBTW, I didn't mean to imply that the options were mutually
exclusive. I believe we can satisfy multiple goals, as long
as we keep ourselves clear on what we're working toward.
See below:
Carl at REBOL wrote:
> And, we know between us that we're not trying to convert everyone
> for all uses, but offer a useful tool that we personally find to
> save us time in the long run. A certain percentage of developers
> need just this kind of comparison, and it's something that RT has
> been asked many times (although you know that we never bash other
> languages). So, how can it be done?
>
I suggest we pick a small set of languages, test with a small set
of benchmark tasks, publish the results, and let it grow over time
to include more languages and tasks as needed. I also suggest we
run the tests on multiple platforms (wxx, Unices, Linux, Mac OS X,
... ?others?) and average the normalized results to provide some
degree of platform neutrality. I suggest normalizing all run times
against c (= 1) to avoid dependence on CPU speed, etc.
> >Goal: Demonstrate to the world that REBOL is a viable,
> > competitive language for many common programming tasks
> > (where "competitive" is defined in terms of run time
> > performance).
> >
...
> >Languages: Commonly used languages, to maximize likelihood that the
> > reader will be familiar with one or more of the other
> > "competitors": c/c++, Java, Perl, Python, VB, ...
My nominees for languages are:
Language Reason
-------- --------------------------------------------------
c It serves as a baseline for optimal speed.
Java Widespread enterprise usage.
Perl Probably the most popular platform-neutral language,
and main "competitor" for 'net-related applications
on the back end (cgi, etc.)
Python Second only to Perl ...
I personally would be interested in some of the "academic" languages
(e.g. Scheme, Haskell, Prolog), but I'm *not* including those in my
list of nominees because I think they are insufficiently "mainstream"
to be relevant to most of the audience of Option 1 who would be
looking to build and deploy personally or professionally.
-jn-
--
; Joel Neely joeldotneelyatfedexdotcom
REBOL [] do [ do func [s] [ foreach [a b] s [prin b] ] sort/skip
do function [s] [t] [ t: "" foreach [a b] s [repend t [b a]] t ] {
| e s m!zauafBpcvekexEohthjJakwLrngohOqrlryRnsctdtiub} 2 ]