Server vs Client-Side Rendering

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 [...]

1

3 Ways to Skin a Fibonacci

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 [...]

1

Code Generation Synopsis

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 [...]

1

State of Web Performance 2010 (via Steve Souders)

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 [...]

1

Java Performance: Map vs If/Else

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 [...]

2

Simple Performance Improvement with Large Ehcache Disk Store Data Sets

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 [...]

3

JSF: Suggestion for Performance Improvement

May 1, 2009

One of the areas of JSF that I think suffers compared to other models such as JSP, PHP, etc is that it requires two paths instead of one. In JSP, for example, code is compiled directly into Java bytecode. That code is then directly executed when the servlet is accessed. As a result, a single [...]

3

Netty: Custom Pipeline Factory

April 23, 2009

As promised in prior articles, I will demonstrate how to create a custom pipeline factory in Netty that provides some custom features including: Auto-discovery of annotated handlers (including pluggable annotation provider) Auto-provisioning of stateful and stateless handlers Auto-pooling of stateful handlers (including pluggable pooling provider)

2

Scalable NIO Servers – Part 4 – Protocol

April 20, 2009

Now that I have narrowed by server down to using JBoss Netty, it’s time to define protocols. This involves two things. First, we need to select the actual protocol itself and second, we need to define how to construct the handlers. Let’s start by defining the handlers. Netty is built upon the principle of handlers, [...]

4

Scalable NIO Servers – Part 2 – Memory

April 9, 2009

As my ongoing investigation into picking a suitable and highly scalable server for my future applications, today I will be talking about memory.  Yesterday, we discussed performance and saw in general how Netty and Grizzly compared to one another.  Today, we will further extend that by comparing memory usage footprint at start, over time, and [...]

2