Runtime vs Development

G

gwtmp01

Assume some-other-language is 10x faster than Ruby.

If a project implemented via some-other-language
requires 5 dedicated systems @ $2,000/each
($10,000 total), then Ruby requires 50 dedicated
systems and $100,000 worth of equipment to accomplish
the same task.

Now assume a Ruby programmer is 3 times more efficient
than some-other programmer and assume a programmer salary of
$80,000/year (including overhead). And assume that the
programming task will take three man-years to develop
in some-other-language.

So this hypothetical project implemented via Ruby costs:
$80,000 in labor and $100,000 in equipment for $180,000.
The same project implemented in some-other-language costs
$240,000 for labor and $10,000 in equipment for $250,000 total.

So Ruby is 10 times slower than some-other-language but
you've got $70,000 more in your pocket when your done.

Moral: Hardware is cheap, people aren't.

Gary Wright
 
L

Lothar Scholz

Hello gwtmp01,


gmc> So Ruby is 10 times slower than some-other-language but
gmc> you've got $70,000 more in your pocket when your done.

gmc> Moral: Hardware is cheap, people aren't.

You forgot the cost of maintaining 50 dedicated systems also energy
resources and other things. Also it is not sure that it scales well
- easy for web applications but maybe difficult to impossible for other
application domains.

Moral: We need a faster language implementation.
 
G

gwtmp01

gmc> So Ruby is 10 times slower than some-other-language but
gmc> you've got $70,000 more in your pocket when your done.

gmc> Moral: Hardware is cheap, people aren't.

You forgot the cost of maintaining 50 dedicated systems also energy
resources and other things. Also it is not sure that it scales well
- easy for web applications but maybe difficult to impossible for
other
application domains.

Moral: We need a faster language implementation.

A: I don't think Ruby is 10x slower for most applications (i.e more
savings)
B: For applications that really need speed, code the critical
parts in C and use Ruby to control it all (i.e. more savings)
C: $2000/headless system is pretty generous.
D: My Ruby employees are happier than the other-language employees.
E: I probably have the application finished sooner which opens
up more opportunities (time is money).
F: Once you've figured out how to maintain 5 systems efficiently, you've
solved the hard part. The remaining 5, 10, or even 45 systems are
much cheaper to maintain per/unit.
G: I've still got $70,000 to spend on other things, even if you don't
like A, B, C, D, E, and F.

I tried to fudge the numbers in my example away from Ruby or for that
matter any language X being compared to language Y based on some
perceived
run-time performance factor.

What I was trying to point out with my simplistic example is that
using a raw runtime performance metric to argue in favor of this
language
or that language is naive when building a system in which language
performance is just one part of the cost consideration. Performance
issues
can be addressed with hardware. Development time can only be addressed
with better people or better tools.

Of course any project needs to consider all these things including
the things
that you mentioned. But assuming a priori that the ability to compute
prime
numbers is the *critical* factor it just a waste of time.

And of course, I think better Ruby implementations would be a good
thing.



Gary Wright
 
M

Matthew Berg

Assume some-other-language is 10x faster than Ruby.

If a project implemented via some-other-language
requires 5 dedicated systems @ $2,000/each
($10,000 total), then Ruby requires 50 dedicated
systems and $100,000 worth of equipment to accomplish
the same task.

Now assume a Ruby programmer is 3 times more efficient
than some-other programmer and assume a programmer salary of
$80,000/year (including overhead). And assume that the
programming task will take three man-years to develop
in some-other-language.

So this hypothetical project implemented via Ruby costs:
$80,000 in labor and $100,000 in equipment for $180,000.
The same project implemented in some-other-language costs
$240,000 for labor and $10,000 in equipment for $250,000 total.

So Ruby is 10 times slower than some-other-language but
you've got $70,000 more in your pocket when your done.

Moral: Hardware is cheap, people aren't.

You forgot a _lot_ of costs - network (switches, cabling, punch downs),
racks, colocation space, power, air conditioning, etc.

And programming is largely an initial cost, whereas administration,
monitoring and maintenance are on going concerns.
 
C

Corey Lawson

On 6/22/05 said:
You forgot a _lot_ of costs - network (switches, cabling, punch downs),
racks, colocation space, power, air conditioning, etc.

...but a lot of those costs are one-time costs, or they scale well. It
does not cost 10x to administer 50 boxes vs 5 (unless they're Windows
boxes... *:eek: ).
And programming is largely an initial cost, whereas administration,
monitoring and maintenance are on going concerns.

Programming also includes upgrades and software maintenance, and the
time involved with those. The simpler language platform will cost less
to do this than the more complex language platform.
 
M

Matthew Berg

...but a lot of those costs are one-time costs, or they scale well. It
does not cost 10x to administer 50 boxes vs 5 (unless they're Windows
boxes... *:eek: ).

Power, cooling, and leased space are a huge cost. Especially if you
want an kind of reliability; i.e. conditioned power (preferably multiple
battery backed circuits) and redundant cooling systems.

And I never said administration was 10x higher. :) I don't quantify
that sort of thing without knowing the specifics of the deployment.
When we're talking about _that_ much of a discrepancy in hardware
requirements, though, the requirements are almost certainly going to be
significant. Five machines may be enough for an existing administrator
to absorb, whereas fifty new machines is likely to require additional
staffing.

(Personally, I think both the 10x and 3x are both somewhat exaggerated
from what you'd see in the real world, anyways. :)
Programming also includes upgrades and software maintenance, and the
time involved with those. The simpler language platform will cost less
to do this than the more complex language platform.

Oh, certainly. This would also be variable from project to project, of
course. It seems like a lot of developers subscribe to the idea that
"hardware is cheap" without really understanding the costs involved.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,043
Latest member
CannalabsCBDReview

Latest Threads

Top