After skipping the easter weekend to go snowboarding in Chamonix, I'll continue the EJAPP Top 10 countdown with number 4.
Badly performing libraries are a problem that occurs more often than one would expect. This issue is somewhat similar to the incorrect usage of Java EE in that not enough care is taken in selecting and using a certain technology. Some development teams will happily pile JAR after JAR into their WEB-INF/lib directory or into their POM file, :
Examples here are:
Even worse, some development teams will write their own frameworks and libraries where existing ones already exist that offer (nearly) the same functionality and (usually) better performance. Apart from the initial inferior performance, these libraries and frameworks do not evolve as rapidly as existing (free) libraries in terms of performance (and functionality and security and ...). As Linus says: Many eyes make all bugs shallow. Unfortunately, I can't give any examples here as those frameworks are, by definition, proprietary.
In any case, to prevent these kinds of problems, follow these steps when some functionality is needed :
And only then use an existing library or build your own.
Filed under Java, Performance | 2 Comments »
[...] Discussed are numbers 4-Badly performing libraries. More information about number 4 can be found here. and for number 3-Incorrectly implemented concurrency see; here. [...]
Very true!
One thing that developers take for granted in the standard Java libraries, which can contain many surprises in terms of performance. Date handling being a good example.
Thanks for the tip on URLEncoder, I am off to write a test case