Sunday, October 28, 2007

Performance, Performance, Performance

For the last couple of years I have been following this three simple rules when performance is the topic (I first read them in the book Effective Java: Programming Language Guide from Joshua Block)

More computing sins are committed in the name of efficiency (without
necessarily achieving it) than for any other single reason—including blind
stupidity.
——William A. Wulf

We should forget about small efficiencies, say about 97% of the time:
premature optimization is the root of all evil.
——Donald E. Knuth

And my favorite:

We follow two rules in the matter of optimization:
Rule 1. Don't do it.
Rule 2 (for experts only). Don't do it yet—that is, not until you have a perfectly
clear and unoptimized solution.
——M. A. Jackson

I have always tried to do as much as possible to make my programs faster. Even small "things" like setting the size of a new instance of ArrayList, or creating an array with the right size when calling List.toArray(), using buffered streams and so on are part of my "toolbox".

And now when "performance is all around" and there are performance tests, performance indicators, performance gurus, performance standards I came to this wiki page:
http://wiki.eclipse.org/index.php/Performance

The good thing about wikis is that everyone can improve them. So check it out, give your comments and share you experience.

"Performance is all around"


Thursday, October 18, 2007

Eclipse "Out of the box" experience

Yesterday I was in the university and I had a class for algorithms in cryptographic. The task was to implement an algorithm for encrypting an input text.

The computers in the class room have Microsoft Visual Studio installed. It was very hard for me to believe that I must use It, so I just went to eclipse.org and downloaded the eclipse for java developers. Just unzip and start. As always it worked. Just as it was. Out of the box. Without configuration or additional steps. Which is quite an achievement considering the computers in the university.

I can`t imagine that the "out of the box" experience might be broken and than I saw bug 203325.

Of course the problem is resolved and a solution was find, but it is a very interesting bug and you can really see that the community works even under pressure.