Grady Booch, “As you can tell by the very fact that I am blogging I am not dead yet.”

IBM developerWorks : Blogs : Software architecture, software engineering, and Renaissance Jazz

I am inside the ICU at Mayo clinic, just a few hours after my open heart surgery. Steve, my ICU registered nurse, is my eyes and fingers typing this blog. As you can tell by the very fact that I am blogging I am not dead yet.

Wishing you a speedy recovery.

Rails performance

Stefan Kaes, author of the forthcoming book, “Performance Rails”, scheduled to publish in early 2007, has this to say about Rails performance …

InfoQ – Tracking change and innovation in the enterprise software development community

… [areas where] applications [fall] short of achieving good performance.

  • choosing a slow session container
  • doing things on a per request basis, which could have been done once at startup
  • repeating identical computations during request processing
  • reading too often and too much from the database (especially in conjunction with associations)
  • relying too much on inefficient helper methods

On top of that, there are still some problem areas within the Rails framework itself, where I’d like to see improved performance in the future. Some of these can be worked around at the application level, some can’t. My favorites on this list are:

  • Route recognition and route generation
  • ActiveRecord object construction
  • SQL query construction

Eclipse performance bloopers

Eclipse Performance

…a collection of goofs, mistakes, and bad decisions made in developing plugins for the Eclipse platform. Many are standard Java programming problems, some are specific to Eclipse. The intent here is … to help other developers avoid similar pitfalls. The bloopers have been contributed from the community and may have been discovered in Eclipse SDK code or in third party plugins. Since all of Eclipse is implemented as plugins, the issues are usually generally relevant.

Performance Tuning Best Practices for MySQL – Google Video

Performance Tuning Best Practices for MySQL – Google Video

…where to best focus your attention when tuning the performance of your applications and database servers, and how to effectively find the “low hanging fruit” on the tree of bottlenecks. It’s not rocket science, but with a bit of acquired skill and experience, and of course good habits, you too can do this magic! [The talk is delivered by] Jay Pipes [who] is MySQL’s Community Relations Manager for North America.

Optimization: When and What

Optimization: Your worst enemy

Optimization is what you do when the performance is insufficient. Sometimes the optimizations are easy, sometimes they are hard. Sometimes they fly in the face of your original design, and sometimes they require that you grossly violate your beautiful abstractions in your class system. But always, and I repeat, always, my experience has been that no programmer has ever been able to predict or analyze where performance bottlenecks are without data. No matter where you think the time is going, you will be surprised to discover that it is going somewhere else.