InfoQ Homepage Concurrency Content on InfoQ
-
Java Virtual Threads: a Case Study
This article explores JDK 21's virtual threads, comparing their performance with Open Liberty's thread pool. It covers key findings like throughput, ramp-up times, and memory footprint. Despite advantages, virtual threads showed unexpected performance issues, especially in CPU-intensive workloads. This analysis guides Java developers on when and how to use virtual threads in their applications.
-
Spring Boot 3.2 and Spring Framework 6.1 Add Java 21, Virtual Threads, and CRaC
Spring Framework 6.1 and Spring Boot 3.2 run on Java 21. They make concurrent programming simpler and more efficient with virtual threads, as well as improving reactive programming and Kotlin coroutines. For “Scale to Zero” startup time reduction, the OpenJDK project CRaC received initial support, while the existing GraalVM Native Image integration got faster through a GraalVM release.
-
Helidon 4 Adopts Virtual Threads: Explore the Increased Performance and Improved DevEx
This article delves into Helidon 4's integration of Java 21's virtual threads from Project Loom, marking a significant shift in Java development. It highlights the transition from a reactive to an imperative model, simplifying coding and debugging. Helidon 4 claims improved performance over previous versions and some external frameworks, balancing performance with simplicity.
-
InfoQ Java Trends Report - November 2023
This report provides a summary of how the InfoQ Java editorial team and several Java Champions currently see the adoption of technology and emerging trends within the Java and JVM space in 2023. We focus on Java the language, as well as related languages like Kotlin and Scala, the Java Virtual Machine (JVM), and Java-based frameworks and utilities.
-
Debugging Go Code: Using pprof and trace to Diagnose and Fix Performance Issues
In this article, we will look at how to identify and fix performance issues in Go programs using the pprof and trace packages. We will begin by covering the fundamentals of the tools, then delving into practical examples of how to use them. By the end of this article, you will have a solid understanding of how to use these powerful tools to improve the performance of your Go applications.
-
Designing for Concurrency: the Hilbert’s Hotel Problem in Go
In this article, we want to show how achieving concurrency is the result of an appropriate design. A concurrent solution may turn out to be more elegant and easier to reason about than an equivalent sequential algorithm. To illustrate these concepts we use, as an example, the Hilbert’s Hotel mathematical problem.
-
Java InfoQ Trends Report - December 2022
This report provides a summary of how the InfoQ Java editorial team and several Java Champions currently see the adoption of technology and emerging trends within the Java and JVM space in 2022. We focus on Java the language, as well as related languages like Kotlin and Scala, the Java Virtual Machine (JVM), and Java-based frameworks and utilities.
-
Virtual Threads: New Foundations for High-Scale Java Applications
Virtual threads are a lightweight implementation of Java threads, delivered as a preview feature in Java 19. They dramatically reduce the effort of writing, maintaining, and observing high-throughput concurrent applications. Virtual threads breathe new life into the familiar thread-per-request style of programming, allowing it to scale with near-optimal hardware utilization.
-
Boosting WebAssembly Performance with SIMD and Multi-Threading
Early implementations of WebAssembly's SIMD and multi-threading proposals show that WebAssembly is narrowing the gap with native performance, by using SIMD instructions and multicore CPUs. Significant performance improvements have been observed in compute-intensive tasks (machine-learning, bio-informatics, scientific computing).
-
FPGAs Supercharge Computational Performance
Originally used in the development of new hardware, new, cloud-based FPGAs are making the technology more accessible. The dramatic improvements in speed and lower costs over traditional CPUs means more companies can start benefiting from the technology. FPGAs are fundamentally concurrent, which makes them an ideal tool for data-intensive, parallel processing problems.
-
A Roadmap to the Programmable World
The emergence of millions of remotely programmable devices in our surroundings will pose significant challenges for software developers. This article proposes a roadmap from today’s cloud-centric, data-centric Internet of Things systems to the Programmable World highlights those challenges that haven’t received enough attention yet.
-
Microservice Threading Models and their Tradeoffs
A microservice's efficiency and resource consumption patterns are dramatically affected by its threading model. Choosing the correct model for your solution is a basic requirement for success. Glenn Engstrand investigates multiple options for a service's execution life-cycle, gives examples of the benefits and drawbacks for each choice, and provides recommendations for each model's implementation.