Isn’t it funny that I start writing a series of articles about Java 8 Lambdas in 2018? Mind you: my first article dates back to April 2012, six years ago. I fell in love with functional programming even earlier. I suppose it was roughly in 2008, ten years ago. From this perspective, functional programming is […]
Performance considerations in the eighties Time and again, I’m surprised by the performance of modern CPUs. Actually, the speed boost astonishing me most took place a decade ago, give or take a few years. Before that, floating point operations were a lot slower than integer operations. When I learned my first assembly language, the 6502 […]
OmniFaces 2.1 is soon to be released. Time to present a useful OmniFaces component which has been improved in version 2.1: the CombinedResourceHandler. The CombinedResourceHandler reduces page load times significantly by combining the countless resource files of a JSF page into one or two larger files, which can be loaded and processed much more efficiently. […]
Imagine a programming language without variables. A language without function parameters and return values. A language without floating point numbers, maybe even without multiplication and division. A language without type casting. Without types, actually. Not to mention classes or objects. Join me in a journey to the world of assembler languages.
Many bloggers know the problem: at first, their WordPress site is fast. After a while it starts to get slow. The same happened to BeyondJava.net. Time to do something about it. I didn’t want to wait until the Google rankings began to drop.
Remember my last April prank? I span a yarn about the great way Oracle managed to squeeze every conceivable String into a 64-bit number. Funny thing is my vision comes sort of true. Of course, not the way I claimed. That was nonsense meant to be easily seen through (“There are only so many Strings […]
My guts tell me BabbageFaces is ready to be released into the wild. Most of the time that’s a reliable measure. Today I’ve tested it with the new PrimeFaces 5 showcase. BabbageFaces passed the test without problems. There’s also a decent showcase example containing most of the elements of a typical business application, running both […]
If you’re like me, you’re concerned about your application’s performance. So you’re familiar with profiling your application. The simplest way to measure your application’s performance is to time how long a method call takes. Most of you probably know System.currentTimeMillis(), but there’s a better alternative: System.nanoTime() is a great function, but one thing it’s not: […]
Today I’ve read about a small but interesting framework called React.js that convinced me to start a new series on this blog. Newsflashes are small articles, just two or three sentences, describing an interesting idea and providing a link to read on. They are less thoroughly researched than the full-fledged articles of BeyondJava.net. Instead I’ll […]
A couple of days ago Chris Newland published two interesting articles. He’s looking at the JVM’s Hot Spot compiler settings, looking for possible optimizations. Regular readers of my blog may remember I analyzed the JVM optimizations two years ago. At the time I found out you can help the optimizing compiler to get to speed, […]
April 1st, 20141 2 Java 8 is out for a week or two now, and we all have been puzzled by the tremendous speed improvements of Oracle’s newest coup. String operations in particular have improved a lot. It’s time to look into the guts of Java and to analyze what’s going on. Along the way, […]
Update July 28, 2017: This article is about a refinement of Google’s Octane benchmark four years ago. In the meantime, the benchmark has been abandoned. It has been replaced by (guess what!) Octane 2.0. Also see this interesting article about the transition to Octane 2.0. Also, read the comment: while adding little information to the […]
Programmers need fast computers to work efficiently. Give them the fastest gear you can get, and they’ll give you a lot of bang for the buck. It’s not only their motivation elevated by being flattered1: Programmers’ tools tend to consume a lot of computer power. You don’t want to pay them for waiting, do you? […]
Today, I’ve listened to a pretty astonishing talk held by Jamie Allen. Both Java and Scala have become fast enough that some guys begin to care about CPU caches. The JVM’s JIT compiler does such a good job it’s possible to feel the impact of the CPU’s cache on your Java programming. Sometimes, it pays […]
What could you achieve if you had a thousand CPU cores at hand? Actually, you probably have. All you need a dedicated graphics accelerator card. For example, my Radeon™ 6870 GPU has 1120 stream processors and delivers up to 2.000 GFlops of single precision floating point performance. That’s at least 10 times the performance of […]
Inspired by Charles Nutter’s talk on the JIT’s optimizations I mentioned a couple of days ago, I designed a little benchmark to learn more about the JIT optimizations. Being curious if the Java performance improved in the last years, I ran the benchmark with every major JDK version since JDK 1.2.
At this year’s JAX I attended a talk Charles Nutter held. He explained some of the optimizations Java’s just in time compiler (aka JIT) does. After hearing the talk, I began to experiment with the JIT myself, doing some benchmarks and playing with the VM’s parameters.