From: Francis Cianfrocca Date: 2006-07-03T18:42:05+09:00 Subject: Re: Ruby and Rails performance profiling? ------=_Part_18658_14479707.1151919721331 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline On 7/2/06, M. Edward (Ed) Borasky wrote: > > > > There's a > > limit to the amount of server RAM I'm willing to buy, power, and cool > > just > > to run bloatware. > Ah, but there's also a limit to how many developer-hours you're willing > to buy as well, so you've chosen to use Ruby rather than C. :) Of > course, C is pretty much as fast as it's going to get, but the Ruby > run-time is probably "laden with low-hanging fruit". <<<<< You've made several interesting points here in just two sentences. Part of my business is building appliances, and another part is running them in farms. I'm getting really aware of the marginal costs of production computing. Pure machine cycles are still getting cheaper (not nearly as fast as they once did) but the ancillary costs of running a cycle are NOT getting cheaper. This is starting to have an effect on the standard calculus and it's no longer unambiguously true that "iron is cheaper than programmers." That's a big discussion on its own, but then you go on to make your point about the Ruby runtime. I've expressed the intuition (it's nothing more than that) that re-basing Ruby on a VM will not solve much of the real-world performance problems we experience with Ruby. If I'm right and you're right, then we all may indeed be missing some opportunities just by looking in the wrong place. > Developing "a large amount of code?" Why is there so much code required? > Are there a lot of detailed special cases that can't be made into data? <<<<< No, I just meant the business needs for software are enormous and getting larger every day. Every extra day it takes you to come to market (and I'm talking about internal applications, not just commercial ones) is forgone business value. We have so much software we need to write in my little company that I'm obsessing over finding much better ways to do it. (I know this is not a new problem. That doesn't mean it's not an urgent one.) > > Boy, you sure don't ask for much! :) <<< If you don't ask for much, you won't get it ;-) Rinda/Linda: yes, but. I've been working with Linda spaces and actor spaces for over ten years now. It's a high-level abstraction which is interesting and powerful, but we need a few steps in between before it (or something based on it, or inspired by it), can be used for large-scale development. Your application: you've neatly described a split between things that belong in Ruby and things (the raw matrix calculations) that belong in something else. It's real nice that Ruby makes this easy to do. ------=_Part_18658_14479707.1151919721331--