Tag Archives: Benchmark

Comparisons of algorithms and platforms

Java Client VM Remeasured

After upgrading my computer system some months ago and finishing the port of Tektosyne for Java just recently, I decided it’s time to update the measurements on my comparison page for Oracle’s Java Client and Server VMs on Microsoft Windows. As a reminder, the core problem is that any modern Windows system should automatically run […]

Updates for VS2015 & .NET 4.6

With Visual Studio 2015, Microsoft finally provides a free Community edition that’s both reasonably feature-complete and legal to use for any purpose by individuals and teams of up to five, or of any size for non-commercial projects. That’s a huge step up from the shamefully crippled Express editions of previous versions, although those strangely continue […]

Grand Java SE 8 Update

Following Oracle’s long-awaited release of Java SE 8, I went through my Java-related articles and updated them to the latest version. Most benchmark results haven’t changed much, but neither has Oracle’s annoying default Windows JVM packaging. Here are some updates on this sorry subject: Java Client VM — Java SE 8 is faster across the […]

Struct Performance 2014

Once again and probably for the last time, I’ve updated my .NET Struct Performance article with results for the latest batch of compilers and runtimes. Microsoft’s and Mono’s current CLRs are unchanged as expected, and so is the excellent MinGW gcc. Visual C++ 2013 gave a nasty shock with massive optimizer failures for user-defined types […]

Kreinin on Efficiency &c

Yossi Kreinin recently posted three excellent articles on runtime performance. Efficiency is fundamentally at odds with elegance starts off with Bjarne Stroutrop’s ludicrous claim that C++ doesn’t make a trade-off between runtime performance and developer productivity because it achieves both. Debunking this claim is hardly necessary for anyone who has ever used C++ and at […]

Struct Performance 2013

After a long hiatus I’ve updated my .NET Struct Performance benchmarks with results for the latest batch of C#, C++, Java, and JavaScript compilers. As expected I needn’t have bothered with the first three – C++ and Java are as fast as ever, and C# is sadly as slow as ever, even in this test […]

Avoiding the Java Client VM

When Java applications perform poorly on Windows, Java developers blame Windows and Windows developers blame Java. But most likely, the actual cause is using the wrong virtual machine. Oracle ships two VMs for 32-bit platforms, called Client VM and Server VM, and Windows defaults to the slower one. My new article on Java Client VM […]

Java adds numbers really fast

Daniel Lemire has posted a tiny benchmark for a basic part of many numerical applications: a loop that sums up numbers in an array. The astonishing part is the performance of Oracle Java 7 which dramatically outperforms an older GCC version, and keeps up quite well with newer compilers! I tested the same code against […]

CPU vs GPU in Matlab

Michael Croucher’s Walking Randomly covers numerical computing for engineers, using tools such as Mathematica and Matlab. However, his series of posts starting with MATLAB GPU / CUDA experiences and tutorials is recommended for any programmer considering GPU parallelism. Michael compares optimized multi-threaded CPU algorithms to massively parallel GPU equivalents when all their extra costs, such […]

RNG Range Projection

RNG Range Projection is a new page discussing the pitfalls of projecting the output of a pseudo-random number generator with a small native range (specifically, the rand() function of MS Visual C++) into an arbitrary target range. This page essentially replicates the contents of a plain text file that used to be included with my […]