<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/jactl-meets-apache-camel-benchmarking-camel-jactl-iljqu8k7w" -->

---
title: Jactl Meets Apache Camel: Benchmarking camel-jactl
description: A new Apache Camel language module, camel-jactl, lets developers use Jactl as a scripting language for Camel routes, filter predicates, and message...
canonical: https://daily.dev/posts/jactl-meets-apache-camel-benchmarking-camel-jactl-iljqu8k7w
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Jactl Meets Apache Camel: Benchmarking camel-jactl | daily.dev
og:description: A new Apache Camel language module, camel-jactl, lets developers use Jactl as a scripting language for Camel routes, filter predicates, and message...
og:url: https://daily.dev/posts/jactl-meets-apache-camel-benchmarking-camel-jactl-iljqu8k7w
og:image: https://api.daily.dev/og/posts/iLJQu8K7w.png
og:image:alt: Jactl Meets Apache Camel: Benchmarking camel-jactl
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Jactl Meets Apache Camel: Benchmarking camel-jactl

**[Awesome Java Newsletter](https://daily.dev/sources/java_libhunt)** · 9 min read · 2 upvotes · 0 comments

## Summary

A new Apache Camel language module, camel-jactl, lets developers use Jactl as a scripting language for Camel routes, filter predicates, and message transformations. Available since Apache Camel 4.22, it's benchmarked against Camel's Simple language and Groovy (via camel-groovy) using JMH across predicate evaluation, expression evaluation, complex order-processing scripts, and full routes. Jactl consistently outperforms both alternatives, hitting up to 57.7x the speed of Simple and 17.1x Groovy on raw predicate evaluations, while getting closer to plain-Java performance (88% and 69% of baseline at 10 and 200 line items respectively) in a full order-processing route. Compilation speed for uncached scripts is also 9.3x faster than Groovy.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://jactl.io/blog/2026/07/21/camel-jactl-benchmarks>

## Questions this post answers

### What version of Apache Camel added support for the Jactl scripting language via camel-jactl?

camel-jactl, the Apache Camel language module for Jactl, is available starting in Apache Camel version 4.22 and later. It registers itself through Camel's Language SPI under the name jactl, and lets you use Jactl for filter predicates, content-based routing rules, and message transformations inside Camel routes.

_Track new Camel language module releases like camel-jactl as they land on daily.dev._

### How does Jactl performance compare to Groovy inside Apache Camel scripting scenarios?

Jactl outperforms Groovy (via camel-groovy) across every benchmark tested with Apache Camel 4.22.0, Jactl 2.9.2, and Groovy 5.0.5 on OpenJDK 25.0.2. Raw predicate and expression evaluation ranged from 12.8x to 17.1x faster; a full filter route was 1.7x faster; complex order summary scripts were 3.7x to 5.0x faster; and Jactl compiled unique scripts 9.3x faster than Groovy.

_Developers weighing Jactl versus Groovy for Camel scripting can follow benchmark comparisons on daily.dev._

### How close does Jactl scripting performance get to plain Java in a full Apache Camel order-processing route?

In a full order-processing route with validation, routing, and transformation steps, Jactl reached 88% of the plain-Java baseline throughput at 10 line items (552K vs 630K invocations/s) and 69% at 200 line items (105K vs 152K invocations/s), while being 2.8x and 4.1x faster than Groovy respectively at those same sizes.

_Engineers benchmarking scripting overhead against a Java baseline can find comparisons like this on daily.dev._

## Similar posts on daily.dev

- [Jactl Continuations and Virtual Threads in Java 8](https://daily.dev/posts/jactl-continuations-and-virtual-threads-in-java-8-uhnldcvvs) · Awesome Java Newsletter · 4 upvotes · 0 comments
- [Java News Roundup: Spring Shell, JReleaser, TornadoInsight, Apache Camel](https://daily.dev/posts/java-news-roundup-spring-shell-jreleaser-tornadoinsight-apache-camel-xvg3gz8un) · InfoQ · 4 upvotes · 0 comments
- [LLM Integration With Apache Camel OpenAI Component](https://daily.dev/posts/llm-integration-with-apache-camel-openai-component-xarxzi5rz) · Baeldung · 2 upvotes · 0 comments
- [foojay – a place for friends of OpenJDK](https://daily.dev/posts/foojay-a-place-for-friends-of-openjdk-fe135kidv) · Foojay.io · 0 upvotes · 0 comments

---

Tags: [#java](https://daily.dev/tags/java), [#jvm](https://daily.dev/tags/jvm), [#apache-camel](https://daily.dev/tags/apache-camel)

[View this post on daily.dev](https://daily.dev/posts/jactl-meets-apache-camel-benchmarking-camel-jactl-iljqu8k7w)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Jactl Meets Apache Camel: Benchmarking camel-jactl","url":"https://daily.dev/posts/jactl-meets-apache-camel-benchmarking-camel-jactl-iljqu8k7w","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/jactl-meets-apache-camel-benchmarking-camel-jactl-iljqu8k7w"},"datePublished":"2026-08-20T20:24:37.835Z","dateModified":"2026-09-14T08:07:19.687Z","description":"A new Apache Camel language module, camel-jactl, lets developers use Jactl as a scripting language for Camel routes, filter predicates, and message...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/88239bba4cb9af587021af5642132d7b?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/88239bba4cb9af587021af5642132d7b?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Awesome Java Newsletter","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Awesome Java Newsletter","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/7729929f2ca649d7b13f6b04aa94d300","url":"https://daily.dev/sources/java_libhunt"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/jactl-meets-apache-camel-benchmarking-camel-jactl-iljqu8k7w","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"java,jvm,apache-camel","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Awesome Java Newsletter","item":"https://daily.dev/sources/java_libhunt"},{"@type":"ListItem","position":3,"name":"Jactl Meets Apache Camel: Benchmarking camel-jactl"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/jactl-meets-apache-camel-benchmarking-camel-jactl-iljqu8k7w#faq","mainEntity":[{"@type":"Question","name":"What version of Apache Camel added support for the Jactl scripting language via camel-jactl?","acceptedAnswer":{"@type":"Answer","text":"camel-jactl, the Apache Camel language module for Jactl, is available starting in Apache Camel version 4.22 and later. It registers itself through Camel's Language SPI under the name jactl, and lets you use Jactl for filter predicates, content-based routing rules, and message transformations inside Camel routes. Track new Camel language module releases like camel-jactl as they land on daily.dev."}},{"@type":"Question","name":"How does Jactl performance compare to Groovy inside Apache Camel scripting scenarios?","acceptedAnswer":{"@type":"Answer","text":"Jactl outperforms Groovy (via camel-groovy) across every benchmark tested with Apache Camel 4.22.0, Jactl 2.9.2, and Groovy 5.0.5 on OpenJDK 25.0.2. Raw predicate and expression evaluation ranged from 12.8x to 17.1x faster; a full filter route was 1.7x faster; complex order summary scripts were 3.7x to 5.0x faster; and Jactl compiled unique scripts 9.3x faster than Groovy. Developers weighing Jactl versus Groovy for Camel scripting can follow benchmark comparisons on daily.dev."}},{"@type":"Question","name":"How close does Jactl scripting performance get to plain Java in a full Apache Camel order-processing route?","acceptedAnswer":{"@type":"Answer","text":"In a full order-processing route with validation, routing, and transformation steps, Jactl reached 88% of the plain-Java baseline throughput at 10 line items (552K vs 630K invocations/s) and 69% at 200 line items (105K vs 152K invocations/s), while being 2.8x and 4.1x faster than Groovy respectively at those same sizes. Engineers benchmarking scripting overhead against a Java baseline can find comparisons like this on daily.dev."}}]}
```

