From 892a2884caa39e3289e73ba9aab6797ed68afab7 Mon Sep 17 00:00:00 2001 From: James Cobb Date: Mon, 19 Aug 2024 11:10:32 -0600 Subject: [PATCH 1/4] initial performance check in --- _includes/performance.html | 17 +++++++++++++++++ _layouts/performance.html | 7 +++++++ performance.md | 7 +++++++ 3 files changed, 31 insertions(+) create mode 100644 _includes/performance.html create mode 100644 _layouts/performance.html create mode 100644 performance.md diff --git a/_includes/performance.html b/_includes/performance.html new file mode 100644 index 0000000000..78f2ef4ea4 --- /dev/null +++ b/_includes/performance.html @@ -0,0 +1,17 @@ +
+
+
+

The Quarkus Way

+

Quarkus redefines Java development by shifting most framework optimizations to the build phase. This approach minimizes runtime dependencies, maximizes dead code elimination, and introduces clear metadata contracts, resulting in leaner and more efficient applications.

+

By performing these optimizations at build time, Quarkus ensures that the heavy lifting is done once, not at every startup, reducing memory usage and startup time.

+

This approach benefits both GraalVM native images and traditional HotSpot JVM deployments, leading to faster, smaller, and more resource-efficient Java applications.

+

Reduced Memory

+

Quarkus reduces memory utilization for both traditional JVM deployments as well as native binaries using Ahead-of-Time (AOT) Compilation with GraalVM. It achieves this by leveraging build-time metadata processing, which shifts much of the runtime work to build time, lowering memory consumption during execution.

+

Fast Startup Time

+

Quarkus delivers fast startup times that allow for automatic scaling up and down of microservices on containers or Kubernetes deployments. It achieves fast startup times by performing build-time processing for both JVM and native binary deployments, reducing the work done during runtime. Quarkus precomputes metadata and optimizes class loading, significantly cutting down on initialization time. For natively compiled binaries, Quarkus uses GraalVM to eliminate startup overhead resulting in near-instant startup times by running directly as a native executable.

+

Disk Footprint

+

Quarkus reduces the footprint of Java applications by employing build-time processing to eliminate unnecessary runtime dependencies and by optimizing the application’s deployment artifacts. It packages only the essential classes and resources needed at runtime, removing unused code through techniques like dead code elimination. When using GraalVM for native compilation, Quarkus further reduces the footprint by compiling the application into a compact native binary, stripping out the JVM and related dependencies.

+
+
+
+ diff --git a/_layouts/performance.html b/_layouts/performance.html new file mode 100644 index 0000000000..705b4d5d83 --- /dev/null +++ b/_layouts/performance.html @@ -0,0 +1,7 @@ +--- +layout: base +--- + +{% include title-band.html %} + +{% include performance.html %} diff --git a/performance.md b/performance.md new file mode 100644 index 0000000000..cf7769b7d7 --- /dev/null +++ b/performance.md @@ -0,0 +1,7 @@ +--- +layout: performance +title: Quarkus Performance +subtitle: Designed for speed and efficiency with minimal footprint. +permalink: /performance/ +--- + From 617ac02d1bbfdf75e5ef681f787deda586436852 Mon Sep 17 00:00:00 2001 From: James Cobb Date: Wed, 28 Aug 2024 09:48:07 -0600 Subject: [PATCH 2/4] Update header-navigation.html --- _includes/header-navigation.html | 1 + 1 file changed, 1 insertion(+) diff --git a/_includes/header-navigation.html b/_includes/header-navigation.html index 2b06ee0674..2e84890ee9 100644 --- a/_includes/header-navigation.html +++ b/_includes/header-navigation.html @@ -17,6 +17,7 @@
  • CONTAINER FIRST
  • REACTIVE
  • DEVELOPER JOY
  • +
  • PERFORMANCE
  • KUBERNETES NATIVE
  • STANDARDS
  • From 15a4e9da07f649a3a210ab789e99f9d1d36292f0 Mon Sep 17 00:00:00 2001 From: James Cobb Date: Fri, 20 Sep 2024 15:21:50 -0600 Subject: [PATCH 3/4] add performance page, Add to index and reorg navigation --- _includes/header-navigation.html | 4 +-- _includes/homepage-features-icon-band.html | 30 +++++++++------- _includes/performance.html | 24 ++++++++++++- .../performance/icon-diskspace-dark.svg | 35 ++++++++++++++++++ assets/images/performance/icon-diskspace.svg | 35 ++++++++++++++++++ .../images/performance/icon-memory-dark.svg | 31 ++++++++++++++++ assets/images/performance/icon-memory.svg | 33 +++++++++++++++++ .../performance/icon-performance-dark.svg | 19 ++++++++++ .../images/performance/icon-performance.svg | 21 +++++++++++ .../images/performance/icon-startup-dark.svg | 36 +++++++++++++++++++ assets/images/performance/icon-startup.svg | 36 +++++++++++++++++++ 11 files changed, 289 insertions(+), 15 deletions(-) create mode 100644 assets/images/performance/icon-diskspace-dark.svg create mode 100644 assets/images/performance/icon-diskspace.svg create mode 100644 assets/images/performance/icon-memory-dark.svg create mode 100644 assets/images/performance/icon-memory.svg create mode 100644 assets/images/performance/icon-performance-dark.svg create mode 100644 assets/images/performance/icon-performance.svg create mode 100644 assets/images/performance/icon-startup-dark.svg create mode 100644 assets/images/performance/icon-startup.svg diff --git a/_includes/header-navigation.html b/_includes/header-navigation.html index 2e84890ee9..887b88fd29 100644 --- a/_includes/header-navigation.html +++ b/_includes/header-navigation.html @@ -15,11 +15,11 @@