Archives for Alex Hennecke

HTTP Client Performance – IO

Apparently, one of the unsolved programming problems of our time is making HTTP calls - at least, taken from the fact that new HTTP client libraries keep cropping up. Mostly, the focus is on new features, async APIs etc. But what about the actual IO part? Especially regarding performance? A rather specific case I'm not going to do a general performance comparison - too many aspects. My use case is a bit more specific - downloading files, potentially large, from a fast network. When downloading

Continue reading »

A little practical GC tuning – on Eclipse

JVM GC tuning is a vast field that books have been written about. Mostly, we're happy to accept whatever defaults the JVM figures out, at most cranking up heap and permGen size when we're out of memory (again). I've found that with the ScalaIDE plugin installed, Eclipse was so memory-heavy and often still sluggish that I've spent some time tuning. Why? Besides the fact that a glorified Texteditor with a compiler attached needs gigabytes of memory, the darned thing was still slow, often becoming

Continue reading »

The GreenHopper Rapid Board was built to fulfill our most-voted customer requests, including the notorious support for multiple JIRA projects. This and other features, like swimlanes and ranking performance improvements, led to a change in the underlying technology stack as well. Old to new Since we had access to some new technologies, the previous combination of WebWork-actions, Velocity templates and PropertySet-based storage has been replaced by a slim REST service implementation, using

Continue reading »

Tuning GreenHopper on IE

GreenHopper uses JavaScript a lot, from drag & drop up to dynamic card resizing. That works pretty well, naturally excluding Internet Explorer. So I spent the majority of the last sprint with figuring out the culprits and bringing GreenHopper up to speed in IE. Drag & Hang & Drop First thing to notice was that the drag and drop on the Planning Board was painfully slow. Trying drag an issue to another position would bring the processor to 100% load immediately. Two things happen: The issue

Continue reading »