Python/ruby benchmark

James Edward Gray II wrote:

- code that must do a lot of parsing

I've actually used Ruby for a pretty hefty parsing application in my work. It was my experience that this is an area where Ruby really shines. Funny to see you bring it up as the opposite of that now.

Here's a little benchmark. I wrote a parser in Racc to read the export format from a system engineering modeling tool. The grammar is non-trivial: 173 rules, 371 states. Running it on a fairly large file (65k lines, 3.6 MB) takes about 6 seconds on a 3.2 GHz P4 running Linux.

Note that this is a lot more than parsing. The application is constructing, in a correct but not very efficient way, the entire data model in memory. I suspect that parsing itself is a small fraction of the total runtime.

Steve

···

On Jun 9, 2005, at 4:15 PM, Lothar Scholz wrote:

In article <Pine.LNX.4.61.0506091805170.7377@oberon.technoronin.com>,

Well, maybe not so new. There was a Lisp machine back in the 80's as I
recall. There was also a Forth chip made by Chuck Moore back then too.
Of course there are also HW implementations of the JVM (PicoJava).

Don't forget the SOAR (Smalltalk On A RISC) project. There was even a
_very_ interesting book published about it.

Also, given the distance (in clock cycles) between main memory and the
CPU, I'm expecting to see a programmable microcode design come out. Such
things were built in the 70's & 80's with some success. And, being a fan
of Forth, using it as the internal microcode could be really interesting.

Now that we've got fairly inexpensive FPGAs (like the Spartan 3 family
from Xilinx) it's possible that you can do this sort of thing in FPGAs.
It's certainly an intriguing idea.

I would enjoy learning how to design with these. And, I would love to
write a bunch of tools in Ruby for developing with them.

You can get the Xilinx Spartan 3 starter kit for $99. Includes a board
with a reasonably good sized FPGA on it. The software is even free
(Webkit they call it). It's pretty easy to get into FPGA design these
days. Also check out the newsgroup: comp.arch.fpga

As far as writing a bunch of Ruby tools for this sort of thing: I'd like
to do that too.

Phil

···

Matt Lawrence <matt@technoronin.com> wrote:

On Fri, 10 Jun 2005, Phil Tomson wrote:

Gyoung-Yoon Noh wrote:
-snip-

How about discussing about 'howto raise ruby ranking in the shootout site'? :wink:

Simplest way: contribute missing programs, find ways to fix broken
programs.

Find them on
http://shootout.alioth.debian.org/great/benchmark.php?test=all&lang=ruby&lang2=ruby&sort=fullcpu

and
http://shootout.alioth.debian.org/old/benchmark.php?test=all&lang=ruby&lang2=ruby&sort=fullcpu

Follow the FAQ instructions for contributing programs:
http://shootout.alioth.debian.org/great/faq.php?sort=fullcpu#help

Austin Ziegler wrote:

> Austin Ziegler wrote:
> -snip-
> > Never *once* have I needed to implement an Ackermann function. Not
> > once. In my entire career. I look at the crap that is on alioth and
> > there's very little that represents common use. There's some neat
> > things -- the new DNA transformation ones -- but exactly how many
> > people will actually be using that in their work?
> Never once needed to implement a recursive function?

Not an Ackermann recursive. Only simple recursive. Most of the time, I
haven't even needed that. There's an important point there. Indeed, I
have sometimes gone in and changed recursive into iterative because it
was too expensive to implement as recursion.

And in some other language implementations that change is unecessary -
perhaps that's the point.

-snip-

And that's the damnable thing about the whole alioth shootout -- you
refuse to take an editorial stance anywhere (well, sort of) on the
interpretation of the numbers, leaving them to stand on their own --
which leads to people making stupid assumptions about them.

-snip-

Alioth Shootout - a Rorschach test for programmers.

···

On 6/12/05, Isaac Gouy <igouy@yahoo.com> wrote:

Austin Ziegler wrote:

They did. I was there; you weren't. But don't let facts get in the way.

Bully for you. Were you there when they mixed unit systems, too? Did
they do *that* with benchmarks?

Yes, I was there. It's irrelevant to the discussion, but I was there.

[badgering elided]

Tell me that they did prototyping and I'll believe you. Tell me that
they measured *performance* and I'll believe you. Tell me that
benchmarks were involved in the process and I won't believe you unless
you provide some evidence of this claim.

I've said what I have to say. Believe it or don't, as you see fit. We're
done.

Steve

···

On 6/12/05, Steven Jenkins <steven.jenkins@ieee.org> wrote:

Oops, I posted absolute stupidity without any context information.
Actually, I've been looking into some cases in which ruby is
irrationally slow, so 'spellcheck' code come from at that time.
See http://shootout.alioth.debian.org/benchmark.php?test=spellcheck&lang=ruby&id=0&sort=fullcpu

Anyway, Ara, I got a similar result as you'd presented. Have you
tested my code? I doubt 'set' prevails in constructing large data
set compared to Hash. In case of 'spellcheck', it seems that the
bench would be performed iterative execution of the code.
If then, I guess 'set' version probably wins.

Sorry for posting without any mention about specific context.

Regards,

···

On 6/10/05, Ara.T.Howard <Ara.T.Howard@noaa.gov> wrote:

hmmm. since set uses hash yet has at least another level of method calls
that's hard to believe... this is what i'm getting:

   harp:~ > ruby a.rb
   ========< set >========
   3.818156

   ========< hash >========
   2.572087

   harp:~ > ruby a.rb
   ========< set >========
   3.824544

   ========< hash >========
   2.600603

   harp:~ > cat a.rb
   require 'set'

   def bench label
     fork {
       GC.disable
       STDOUT.sync = true
       puts "========< #{ label } >========"
       a = Time::now.to_f
       yield
       b = Time::now.to_f
       printf "%f\n", b - a
       puts
     }
     Process::wait
   end

   words = IO::readlines('/usr/share/dict/words').map{|word| word.strip}

   set = Set::new
   hash = Hash::new

   words.each{|word| set << hash[word] = word}

   bench('set'){ 42.times{ words.each{|word| set.include? word}}}
   bench('hash'){ 42.times{ words.each{|word| hash.has_key? word}}}

note that times are the time it takes to look up every single word in the list
42 times.

--
http://nohmad.sub-port.net

Similarly, my ~75 page manual for PDF::Writer is generated from a
parsed source in 1m 6s on a similar P4 running Windows XP. (It takes
significantly longer -- about 6 - 8m -- on my 1Ghz Crusoe laptop.)
This may not seem fast, but it's incredible when you look at the
complexity of the manual involved. The majority of the time isn't in
calculation or in parsing, either -- it's in the transaction
capabilities required by a good formatting engine.

-austin

···

On 6/9/05, Steven Jenkins <steven.jenkins@ieee.org> wrote:

James Edward Gray II wrote:
>> On Jun 9, 2005, at 4:15 PM, Lothar Scholz wrote:
>> - code that must do a lot of parsing
> I've actually used Ruby for a pretty hefty parsing application in my
> work. It was my experience that this is an area where Ruby really
> shines. Funny to see you bring it up as the opposite of that now.
Here's a little benchmark. I wrote a parser in Racc to read the export
format from a system engineering modeling tool. The grammar is
non-trivial: 173 rules, 371 states. Running it on a fairly large file
(65k lines, 3.6 MB) takes about 6 seconds on a 3.2 GHz P4 running Linux.

--
Austin Ziegler * halostatue@gmail.com
               * Alternate: austin@halostatue.ca

I've registered, but cannot get proper comfirmation mail yet.
It seems like gforge bug. Whenever I request resending
confirmation mail, I got blank mail contains no body text.

···

On 6/11/05, Isaac Gouy <igouy@yahoo.com> wrote:

Gyoung-Yoon Noh wrote:
-snip-
> How about discussing about 'howto raise ruby ranking in the shootout site'? :wink:

Simplest way: contribute missing programs, find ways to fix broken
programs.

Find them on
http://shootout.alioth.debian.org/great/benchmark.php?test=all&lang=ruby&lang2=ruby&sort=fullcpu

and
http://shootout.alioth.debian.org/old/benchmark.php?test=all&lang=ruby&lang2=ruby&sort=fullcpu

Follow the FAQ instructions for contributing programs:
http://shootout.alioth.debian.org/great/faq.php?sort=fullcpu#help

--
http://nohmad.sub-port.net

In this essay I'm going to attempt, one final time, to demonstrate
that it is possible to have a useful benchmark. I'm going to do
so by telling about a real benchmark that we used to solve a real
problem in the Deep Space Network. But first, some clarifications:

1. I have not expressed, and do not hold, an opinion regarding the
Alioth Shootout.

2. I have not expressed, and do not hold, an opinion regarding the
Ackermann function as a benchmark.

3. I originally entered this discussion because I objected to
the assertion "Benchmarks, like statistics, are lies." My main
objection was to the inclusion of statistics. Statistics was, for all
practical purposes, invented by a scientist (Gauss) to solve physics
problems. It is utterly indispensable to the practice of science and
engineering. Nowadays, virtually every digital device (MP3 player,
cell phone, network interface) is designed using theoretical concepts
pioneered by Claude Shannon in 1948. Shannon's information theory is
heavily statistical in nature; he called his measure of information
"entropy" because its formulation is so similar to the concept of
the same name in statistical mechanics. People outside the field of
engineering are sometimes surprised to discover just how essential
the deep theories of mathematics and statistics are to ordinary
things like cell phones and airplanes. Here's an interesting
interview with Andrew Viterbi, a first-rate theoretician who made
a huge impact on the practical world, for those who are interested:
http://www.ieee.org/organizations/history_center/oral_histories/transcripts/viterbi.html.
It's an interesting twist that he worked on the Deep Space Network,
which features in the story below.

4. As the discussion was more about benchmarks than statistics,
I'll give what I believe is a counterexample to the claim. I have
several others, some perhaps better than this one, but this is one
that I worked on directly.

5. I've marked this OT because it's not about Ruby and LONG because
it's, well, long. I don't expect to have more to say.

First, a little background. In the early 90s I worked on the Deep
Space Network, which is managed by JPL for NASA. The purpose of the
DSN, among other things, is to communicate with spacecraft beyond
earth orbit. This is a tremendous technical challenge. Voyager 1,
for example, has a transmitter that produces somewhere around 5
watts of power, about the same as a walkie-talkie. It's currently
about 14 billion km from earth. It's hard to fathom just how weak a
signal that is. To hear it and actually get data from it requires
huge antennas, cryogenically-cooled high-power amplifiers, and
exotic error correcting codes based on information theory.

The DSN has antenna complexes in California, Spain, and
Australia. Since long before the Internet, these complexes have been
connected by digital links carried over geosynchronous satellite
circuits.

The people who built this system were world-class telecom engineers,
not computer guys. The DSN ground system had a lot of custom
hardware and software in it, as well as "COTS" products made by
smaller manufacturers you've probably never heard of. By 1990 or
so people began to wonder whether the DSN ground infrastructure
should be re-implemented using Unix systems and TCP/IP. I was in
the group that thought we should.

People on the other side had advanced a theoretical argument against
TCP/IP, based on the quite true fact that the TCP specification then
allowed only 64 kB of sliding window. (Since then the protocol has
been extended to work better on "fat pipes".) It was true that you
could not completely load a T1 circuit, for example, with a single
TCP stream unless the network round-trip time was less than about
330 ms. Unfortunately, the speed of light requires about 230 ms
just to go 35,000 km up to the comsat and back down, which meant
a round trip from Australia to JPL would take at least 460 ms. Not
good enough.

It occurred to me that the flaw in the argument was that the
limitation applied only to a single stream, and that one way around
it would be to open multiple streams and "inverse multiplex" the
data across them. (Other people not at JPL, we discovered later,
had the same idea and built multi-stream FTP servers and clients,
for example.) So we wanted to test this idea out.

Remember where we are now. We have no application to run on these
Unix machines. We have no prototype of an application. We just have
an idea, and we want to see if it looks promising. If we find that
we can work around the single-stream limitation of TCP, then the
Unix/TCP approach is still in the running. If not, it's probably
dead. (It might still be a good idea, just not work because we're
not smart enough to pull it off. But in any case, this idea is
going nowhere unless we can move data.)

So Russ Byrne, Vance Heron (also a Rubyist and reader of this list),
and I built a test configuration and wrote some test code. The
test configuration used a hardware satellite simulator to impose
a variable delay between two routers. We connected a transmitter
machine to one router and a receiver to the other. The code was
about 600 lines of C, and used BSD sockets and select().

I claim that this code is a benchmark. It
satisfies my definition and the one on Wikipedia:
http://en.wikipedia.org/wiki/Benchmark_(computing). It did
not remotely approximate our real ground applications, which do
a lot of formatting, routing, controlling, accounting, etc. It
tested only whether it was possible to achieve something near the
theoretical maximum throughput across the satellite simulator using
a particular technique.

To make a long story shorter, it was. The ability to control
precisely all relevant factors allowed us to answer some important
questions. First of all, we showed that it was possible to fully
load a T1 in the face of worse-than-realistic delays and bit-error
rates. We compared different Unix implementations, and discovered
(surprise) that Sun's TCP stack significantly outperformed some
of their competitors. We compared framing protocols on the serial
circuit and found a bug in Cisco's implementation of HDLC. (Cisco
already knew about it, but we confirmed it independently.) Later,
when we got satellite time, we verified the performance between two
machines linked by a 140,000 km path. And finally, the benchmark
allowed me to answer with confidence the most important question
I've ever been asked at work.

In 1993, the Galileo spacecraft's high-gain antenna failed to open.
This appeared at the time to be a devastating blow. The expected
data rate at Jupiter without the HGA was a factor of some 10,000
below what JPL had planned. (10 bits per second.) Not surprisingly,
the project's highest priority became figuring out how to achieve a
reasonable fraction of the science objectives before the spacecraft
arrived at Jupiter in 1995. The team ended up recommending some
hardware modifications to the ground antennas, development of even
more exotic data compression and error-correction codes, changes
in operations procedures, and a near-real-time arraying technique
that called for combining digital signals from large antennas in
Australia and California. That required moving lots of bits between
ground complexes and not losing any. The manager of the mission
rescue team asked me at one point "If we put in all these routers
and Unix boxes, will they support arraying for Galileo?" He needed
to know right then. I said "Yes, they will." He did, and they did.

This is not a personal moment of glory. Lots of people worked to
get the DSN to the point where it could make a major architectural
change. And the team that developed the engineering changes deserves
the credit. But one part of succeeding was being able to say "we
can do what Galileo needs", and we could say that because we'd used
our benchmark to hammer the problem into submission. We understood
it well enough to convince management to trust our conclusions.

Galileo went on to tremendous success:
http://www.newyorker.com/fact/content/?030908fa_fact.

Steve

Gyoung-Yoon Noh wrote:

I've registered, but cannot get proper comfirmation mail yet.
It seems like gforge bug. Whenever I request resending
confirmation mail, I got blank mail contains no body text.

If you're talking about this page
https://alioth.debian.org/account/register.php

and continue to have problems, then perhaps you need to contact an
alioth admin:
http://www.debian.org/intro/organization

Thank you for the interesting tale, it was a pleasure to read.

···

On 15.6.2005, at 07:55, Steven Jenkins wrote:

In this essay I'm going to attempt, one final time, to demonstrate
that it is possible to have a useful benchmark. I'm going to do
so by telling about a real benchmark that we used to solve a real
problem in the Deep Space Network.

Steve, that was a wonderful and fascinating account, thanks very much.

One observation I would make would be that you set up benchmark/test/simulation that was very relevant to your problem domain, you didn't use some industry standard MIPS or TPH or such. That is the real problem with the type of benchmarks such as spawned the debate here, such things are interesting and I like to look at them, but that's as far as their usefulness go.

One of the things I do for a living is to migrate municipal databases from various Unix(tm) to Linux on x86 with that proprietary dbms that postgres will hopefully someday kill. Anyway, the usual transaction per second ratings for various machines are done using a benchmark that uses a standard set of tables from cached memory, so they are completely useless for sizing a cluster of Intel or AMD boxes to replace Unix big iron. We make our own tests with the client's dbms and software. So we could call that a "benchmark", though it's more of a benchmark/simulation/test type of thing.

Ralph PJPizza

···

On Wed, Jun 15, 2005 at 01:55:58PM +0900, Steven Jenkins wrote:

In this essay I'm going to attempt, one final time, to demonstrate
that it is possible to have a useful benchmark. I'm going to do
so by telling about a real benchmark that we used to solve a real
problem in the Deep Space Network. But first, some clarifications:

In this essay I'm going to attempt, one final time, to
demonstrate that it is possible to have a useful benchmark. I'm
going to do so by telling about a real benchmark that we used to
solve a real problem in the Deep Space Network. But first, some
clarifications:

Steve, that was a wonderful and fascinating account, thanks very
much.

Yes, it was. And, given the broadness of the definition that Steven
used, I agree: it was done with benchmarks. However, I also agree
with you (Ralph) that this is what I would consider a performance
simulation -- a prototype, if you will -- and not a benchmark *as
such*. At least, not in *common* parlance, although the proper
definition does include this.

One observation I would make would be that you set up
benchmark/test/simulation that was very relevant to your problem
domain, you didn't use some industry standard MIPS or TPH or such.
That is the real problem with the type of benchmarks such as
spawned the debate here, such things are interesting and I like to
look at them, but that's as far as their usefulness go.

Right. I *personally* wouldn't consider what Steven has described in
his fascinating story as a benchmark. He may have *benchmarked* some
performance with his simulation, and used that as a baseline for
further performance tests, but the marketers have taken over the
word by and large. The alioth "benchmarks" don't do what Steven did;
things like MIPS, TPS, SpecMARK, FLOPS, and other benchmark values
are pure marketing speak -- just like the alioth shootout.

Thank you, Steven.

-austin

···

On 6/15/05, Ralph PJPizza Siegler <pjpizza@rsiegler.org> wrote:

On Wed, Jun 15, 2005 at 01:55:58PM +0900, Steven Jenkins wrote:

--
Austin Ziegler * halostatue@gmail.com
               * Alternate: austin@halostatue.ca

Ralph "PJPizza" Siegler wrote:

One observation I would make would be that you set up
benchmark/test/simulation that was very relevant to your problem domain,
you didn't use some industry standard MIPS or TPH or such. That is the
real problem with the type of benchmarks such as spawned the debate
here, such things are interesting and I like to look at them, but that's
as far as their usefulness go.

I said I had other examples :-).

It's been a long time since I was involved in one, but I'm reasonably confident that we use "standard" benchmarks for large procurements. When you spend US Government money, you have to jump through a lot of hoops to ensure a level competitive playing field. A protest from a losing bidder can tie you up for a long time, so you try to avoid that. Using your own benchmarks for procurement qualification invites protest.

Nobody wins just because their TPC-A or whatever is highest. A Request for Proposal may give a particular performance threshold, and the proposing vendors use that to decide which of their products to propose. They don't want to propose anything more expensive than they have to, because they're in a cost competition. It's a rough and imperfect but vendor-neutral way to talk about classes of performance. The real key is that, if the vendors buy into it, they can't protest on that point.

Obviously, if one vendor claims dramatically better performance than another in the same price class, that might be worth looking to. For the most part, however, the benchmarks just establish who's in the game, and most of the competition is on cost.

Steve

Austin Ziegler wrote:

...
Right. I *personally* wouldn't consider what Steven has described in
his fascinating story as a benchmark. He may have *benchmarked* some
performance with his simulation, and used that as a baseline for
further performance tests, but the marketers have taken over the
word by and large. The alioth "benchmarks" don't do what Steven did;
things like MIPS, TPS, SpecMARK, FLOPS, and other benchmark values
are pure marketing speak -- just like the alioth shootout.

So, do we call that "benchmarketing"?

James

···

--

http://www.ruby-doc.org - The Ruby Documentation Site
http://www.rubyxml.com - News, Articles, and Listings for Ruby & XML
http://www.rubystuff.com - The Ruby Store for Ruby Stuff
http://www.jamesbritt.com - Playing with Better Toys

I think some people have lost sight of what "benchmark" means. For computer apps some people have been claiming its TPS, MIPS or whatever form of throughput they are proposing. However, take a step back and think about "benchmark" in more general terms and you get a better idea for what a benchmark is. This is what Steven Jenkins was identifying with his satellite TCP/IP benchmark.

A benchmark is something, anything by which you can compare. Typically it is the best of breed at some point or other. Here is an example:

I play various musical instruments, one of them being the Border Bagpipe made by Jon Swayne. Jon Swayne is a legend in his own lifetime to many dancers and many musicians in the UK. For dancers it is because he is part of Blowzabella, a major musical force in social dancing throughout the last 25 years. For musicians, and particularly bagpipers, it is because he took the bagpipe, an instrument known for not typically being in tune, and if it was, not necessarily in tune with another bagpipe of the same type (or even by the same maker!) and creating a new standard, a new benchmark, if you will, by which other bagpipes are judged. Its not just Jon Swayne, there are some other makers, but they changed everyones perception and his pipes are the benchmark by which others are judged (yes, they really are that good). When you talk to pipers in the UK and mention his name there is a respect that is accorded. You don't get that without good reason. Anyway I digress.

The benchmark for Steven's satellite test was did it match the round-trip criteria. I think absolutely Steven's example is a benchmark. Its much looser than other benchmarks, but thats not the point. The point is did it serve a purpose?

For other people the benchmark will be does it perform the test within a given tolerance? For other people it may be how much disk space does it use? or is the latency between packets between X and Y? For other people it will be is it faster than X?

Where Austin's point comes in is that he points out the latter test is meaningless because you are comparing apples with oranges, when you should really be comparing GMO engineered (optimized) apples with GMO (optimized) oranges to be even getting close to a meaningful test. Even so you are still comparing cores to segments and it gets a bit messy after that, although they both have pips.

Even so, I once worked for a GIS company (A) that wrote their software in C with an in-house scripting language. We won the benchmarks when in competition with other GIS companies. The competition won because of clever marketing. Their customers lost (*) though because the competitors software was too hard to configure and our marketing people were not smart enough to identify this and inform the customer of the problem.

What sort of benchmarks were being tested?
o Time to compute catchment area of potential customer base within X minutes drive given a drive time to location.
o Time to compute catchment area of potential customer base within X minutes drive given a drive time from location.
o Time to compute drive time to location of potential customer base within X minutes drive given a particular post code area.
o Time to compute drive time from location of potential customer base within X minutes drive given a particular post code area.
o Think up any other bizarre thing you want.

Times to and from are/location may not be the same because of highway on/off ramps, traffic light network delay bias and one-way systems. Superstores often don't care much about drive time from, but care a lot about drive-time to. For example drive time from may be 15mins, but drive-time to may be only 5mins.

As you can see the customer requirements are highly subjective, but the raw input data is hard data - maps and fixed road networks. The computing time etc, thats also a fixed reality given the hardware.

Its all about perception and need.

I think the benchmarketing term is quite apt for most benchmarks.

....and Steven, your story was great. I could really relate to a lot of that.

Stephen

(*) Its a matter of debate, they also used an in-house language and finding non-competitor engineers that used the language was nigh on impossible and thus they were very expensive to hire to do the configuration. Our (A) stuff was not so configurable, but didn't need to be.

When were we doing this stuff? 90..94 for me. X11 and Motif was the cool stuff back then.

···

In message <42B06AD0.3080904@ieee.org>, Steven Jenkins <steven.jenkins@ieee.org> writes

It's been a long time since I was involved in one, but I'm reasonably confident that we use "standard" benchmarks for large procurements.

--
Stephen Kellett
Object Media Limited http://www.objmedia.demon.co.uk/software.html
Computer Consultancy, Software Development
Windows C++, Java, Assembler, Performance Analysis, Troubleshooting

I used to do some spending of U.S. D.O.E. money at Fermilab for servers/workstations/networks for CADD/CAE , as you say the standard benchmarks were a starting point to see what vendors might be considered, but for justifications the capabilities for in-house needs were the main thing. My projects were in $100-$200K range, surely a few orders of magnitude smaller than your NASA ones, with the procurement requirements not as burdensome.

  Our group made civil engineering packages (all those tunnels and collision halls) for outside bid, and of course there the spec book that accompanied the drawings was what ruled. That could be called a set of benchmarks, I suppose; they were a mix of construction industry standards and what our engineers had calculated.

Ralph "PJPizza" Siegler

···

On Thu, Jun 16, 2005 at 02:52:24AM +0900, Steven Jenkins wrote:

I said I had other examples :-).

It's been a long time since I was involved in one, but I'm reasonably
confident that we use "standard" benchmarks for large procurements. When
you spend US Government money, you have to jump through a lot of hoops
to ensure a level competitive playing field. A protest from a losing
bidder can tie you up for a long time, so you try to avoid that. Using
your own benchmarks for procurement qualification invites protest.

Nobody wins just because their TPC-A or whatever is highest. A Request
for Proposal may give a particular performance threshold, and the

You know, it's a good thing that I didn't have a drink in my hands
when I read this.

Yeah. Benchmarketing. I like that.

-austin

···

On 6/15/05, James Britt <james_b@neurogami.com> wrote:

Austin Ziegler wrote:
> Right. I *personally* wouldn't consider what Steven has described in
> his fascinating story as a benchmark. He may have *benchmarked* some
> performance with his simulation, and used that as a baseline for
> further performance tests, but the marketers have taken over the
> word by and large.
> The alioth "benchmarks" don't do what Steven did;
> things like MIPS, TPS, SpecMARK, FLOPS, and other benchmark values
> are pure marketing speak -- just like the alioth shootout.
So, do we call that "benchmarketing"?

--
Austin Ziegler * halostatue@gmail.com
               * Alternate: austin@halostatue.ca