As a brief note today, I found that GraalVM was actually making one of my Scala/Java/JVM applications slower, so with the help of Thomas Wuerthinger at Oracle, I learned a little bit about how to use the GraalVM profile-guided optimizations.
I haven’t read the article I’ve linked to yet, I’m just saving it here for future reading.
Scala Native relies on LLVM as its primary optimizer as of the latest 0.3.7 release. Overall, we’ve found that LLVM fits this role quite well, after all, it is an industry-standard toolchain for AOT compilation of statically typed programming languages. LLVM produces high-quality native code, and the results are getting better with each release.
scala-lang.org has an article titled Speeding Up Compilation Time with `scalac-profiling` where they demonstrate how they reduced a project’s compilation time from 32.5 seconds down to 4 seconds. In addition to all of the scalac and profiling details, it demonstrates a nice use of flamegraphs.
Here’s a detailed talk on A brief history branch prediction in CPUs.
My new favorite website (ITHare.com) has this terrific infographic that demonstrates that all CPU operations are not equal.
As a note to self about an upcoming project, here’s a link to a Smashing Magazine article on App store marketing.
It’s amazing what you can do with software. A “solution” with one set of data can become a denial of service attack against yourself with a larger set of data. (This graph shows the result of the Drupal Boost module initially clobbering my server, until I applied two “fixes” to it.)
Summary: This post provides a review of the Drupal Boost module, which dramatically improves website speed/performance.
Over the last few weeks I've been spending a little time every weekend trying to improve the performance of the alvinalexander.com website. I didn't think there was much of a performance problem with the website, but the Google Webmasters' site kept reporting that the site was slow compared to most internet websites.
If you're interested in the really short story, this Drupal-based website is now hosted on a new, dedicated Linux server with much more RAM than the old server. For the longer story -- and the details of Apache tweaks and a script to automatically restart Apache when it got hung up -- read on.
Surprised by the Drupal plus LAMP memory use
I ended up being really surprised, but it turns out that Drupal and the LAMP architecture (Linux, Apache, MySQL, and PHP) take much more memory than the old Java-based blog that I had running the DevDaily site previously.