May 17, 2013
As part of a load testing project, I needed to collect and store data as fast as possible in a multi-threaded environment. This meant synchronizing on collections to avoid collisions. Synchronization is always a bad idea in any performance critical application. In my simple testing, adding to a synchronized ArrayList can be almost 4x slower [...]
March 4, 2013
I have long had mixed feelings on the future of JavaScript. Many people believe it is the future. Others believe it is the new VM of development (similar to Java). Others believe it as the sole language across server and client-side development (one language to rule them all). So, where do I stand? I stand [...]
October 1, 2012
One of the recent additions to TeaTrove I am making is adding the between and in operator. This may seem trivial, but they are quite powerful as well as generally better performing, not to mention easier to read. The SQL standard has had these operators for decades because they just make sense. I’m rather surprised [...]
March 11, 2012
Several sites are moving towards an API program to allow easier access as well as mashup data. The use of an API is considerably different from typical methodologies such as direct database access. The biggest difference is latency and time. Further, the work being done during REST lookups is more idle time or I/O processing [...]
January 5, 2012
I’ve come to a strange realization today. Several industry leaders and even some companies (http://d8p.it/17392,Leaving_JSPs_in_the_dust:_moving_LinkedIn_to_dust.js_client-side_templates_%7C_LinkedIn_Engineering.html) are moving to using Javascript and related libraries to move most code to the client for high scalability solutions. In thought, that is a great idea. However, it’s a bit of a strange paradigm. Initially, there was only a handful [...]
September 11, 2011
Fibonacci sequences and their calculations are always an interesting computer science question and sometimes even an interview question. There are endless ways to calculate a fibonacci value and mathematicians way smarter than I am have much better ways. This is really just a blog post on three simple Java-based solutions. In no way is this [...]
June 21, 2011
One of the areas I have dug into lately is around code generation and class file manipulation. It’s actually quite amazing how much you learn and understand when you begin to understand what the JVM is doing and how class files are constructed. Even though on a day-by-day basis, class generation is rarely used, it [...]
December 28, 2010
Steve Souders recently published his State of Performance for the web for 2010. This is a well written state of where we have been in improving and capitalizing on performance of web applications and web sites in general. It also goes into plans and hopes for 2011. I personally am excited about the continual progression [...]
December 17, 2010
I came across an interesting javascript article the other day on how not to write javascript: Google Closure: How not to write JavaScript The interesting part of this article that caught my eye was using a map instead of a switch or if/else statement to check for string comparisons. This got me thinking of whether [...]
April 29, 2010
One of my applications has several millions cacheable entries. In order to cache as much as possible without going back to the database I use both a memory store and a disk store in my Ehcache configuration. Loading a serialized item from disk is still faster than loading from a database generally. That being said [...]