apache.camel

希望一切都很好,您可以安全进入2020年。

Camel团队已经在忙于开发下一个Camel 3.1版本。 目标之一是继续优化骆驼核心,这一次我们花了一些时间来寻找路由引擎中的一些热点。

我们所研究的方面之一也是在Camel路由的每个消息中发生的对象分配。 JVM本身擅长分配对象,并在不再使用对象时对其进行垃圾回收。 但是,如果您可以识别路由中每个EIP不必要的对象,则还有改进的余地。

因此,今天我通过运行一条基本的骆驼路线找到了其中几个

来自(timer:foo?period = 1“)

.to(“ log:foo”);

基本上每秒路由1000条消息。 并将每个消息打印到日志中。

对象分配中最大的罪魁祸首之一是React式执行器的人为记录,该执行器以TRACE级别记录。 因此,通过避免这种情况,我们可以减少大量分配,并减少用于记录消息的字符串构建。

我们优化的其他方面是EIP(最常用的EIP),它现在在启动时更加智能,可以避免创建不必要的缓存。 这与我们现在懒惰地在Camel中创建很少使用的某些功能的区域一起使用,否则这些功能也会设置和创建一些缓存。

我们还确定了Camel 3工作的一部分,因此LRUCache并未早于预热,这意味着Camel的启动会比其他方式慢一些。 因此,通过将此预热移至较早的阶段,Camel可以通过在启动时执行并发工作直到LRUCache被预热(其咖啡因缓存需要此操作)来更快地启动。

还对日志组件进行了优化,以减少其构建日志消息的对象分配。

因此,总的来说,这是美好的一天,如果我们将Camel 3.0.0与3.1.0-SNAPSHOT的启动与上述Camel路线进行比较,那么每秒的对象分配将大大减少(这要归功于Profiler的YourKit)。


该配置文件指出,在Camel 3.0.0中,Camel每秒大约可大致生成22.000个对象(路由1000条消息)。 在Camel 3.1中,每秒的对象减少到了约6.000。 这太棒了,几乎减少了4倍。

翻译自: https://www.javacodegeeks.com/2020/01/apache-camel-3-1-more-camel-core-optimizations-coming.html

apache.camel

apache.camel_Apache Camel 3.1 –即将推出更多骆驼核心优化相关推荐

  1. Apache Camel 3.1 –即将推出更多骆驼核心优化

    希望一切都很好,您可以安全进入2020年. Camel团队已经在忙于开发下一个Camel 3.1版本. 目标之一是继续优化骆驼核心,这一次我们花了一些时间来寻找路由引擎中的一些热点. 我们所研究的方面 ...

  2. apache.camel_Apache Camel 2.18 –即将推出的功能的亮点

    apache.camel 骆驼骑士正在忙于即将发布的Apache Camel 2.18版本. 当我们动态更新发行说明时 ,这是一种快速查看即将发生的情况的方法. 我只是想在夏天在这里进行快速更新,到目 ...

  3. apache.camel_Apache Camel 3.1 –更多骆驼核心优化(第2部分)

    apache.camel 我以前曾在博客中介绍我们在下一个Camel 3.1版本(第1部分)中所做的优化 . 今天,我想发布大约4周后的状态更新. 我们集中在三个方面优化骆驼核心: 不必要的对象分配 ...

  4. apache.camel_Apache Camel 3.1 –更多骆驼核心优化(第3部分)

    apache.camel 我以前曾在博客中介绍过我们在下一个Camel 3.1版本中所做的优化 博客第1部分 博客第2部分 今天,我想简要介绍一下我们已经完成的最新开发,因为我们准备在本周末或下半年准 ...

  5. apache.camel_Apache Camel 2.14中的更多指标

    apache.camel Apache Camel 2.14将于本月晚些时候发布. 由于正在解决某些Apache基础结构问题,因此存在一些问题. 这篇博客文章讨论的是我们添加到此版本中的新功能之一. ...

  6. Apache Camel 3.1 –更多骆驼核心优化(第3部分)

    我以前曾在博客中介绍过我们在下一个Camel 3.1版本中所做的优化 博客第1部分 博客第2部分 今天,我想简短介绍一下我们已经完成的最新开发,因为我们准备在本周末或下半年准备好构建和发布Camel ...

  7. Apache Camel 3.1 –更多骆驼核心优化(第2部分)

    我以前曾在博客中介绍我们在下一个Camel 3.1版本(第1部分)中所做的优化 . 今天,我想发布大约4周后的最新状态更新. 我们集中在三个方面优化骆驼核心: 不必要的对象分配 不必要的方法调用 提高 ...

  8. apache.camel_Apache Camel 2.19发布–新增功能

    apache.camel Apache Camel 2.19于2017年5月5日发布,大约在一段时间后,我做了一个小博客,介绍了该版本包含的值得注意的新功能和改进. 这是值得注意的新功能和改进的列表. ...

  9. apache.camel_Apache Camel 2.18发布–包含内容

    apache.camel 本周发布了Apache Camel 2.18.0 . 此版本是重要版本,我将在此博客文章中重点介绍. Java 8 Camel 2.18是第一个需要Java 1.8的版本(例 ...

最新文章

  1. javaScript一些函数--Math()
  2. Java使用jfreechart画饼图_jfreechart应用_例题_生成饼状图(展示,生成文件,WEB项目)_可以直接运行...
  3. 2017.4.14-afternoon
  4. [pythonjava爬虫实战]-爬取学院老师信息之-java版本python版本
  5. SAP CRM OData multiple origin Composition的测试
  6. 西门子scl语言编程手册_西门子SCL编程PEEK指令讲解
  7. HDU 2376 Average distance
  8. 女性开车5大安全驾车好习惯 为您支招
  9. oracle查询sql时间ain,Oracle SQL 时间查询
  10. 自动化集成:Pipeline整合Docker容器
  11. 朗文3000词汇表带音标_朗文定义词汇表2000-朗文2000释义词汇pdf-朗文词汇用法
  12. JavaScript树形下拉框
  13. 2018第九届蓝桥杯JavaA组省赛真题详解
  14. java如何设置例外站点_java添加例外站点
  15. Committer identity unknown *** Please tell me who you are...
  16. win8.1和Ubuntu14.04.1双系统的安装
  17. HBase面试题汇总
  18. mapbox 支持国家2000 坐标系的数据
  19. krpano tools随记
  20. python 基础练习 打印歌词

热门文章

  1. P1247 取火柴游戏
  2. Product 1 Modulo N CodeForces - 1514C
  3. [HNOI2015] 接水果(倍增 + 整体二分)
  4. CodeForces 1396E Distance Matching(构造+树的重心+dfs+set)
  5. BZOJ #3166. [Heoi2013]Alo(可持久化trie树+set)
  6. P7244-章节划分【RMQ,贪心,递归】
  7. codeforces1485 E. Move and Swap(dp)
  8. 【图论】清理牛棚/Cleaning Shifts S(luogu 4644)
  9. A*B NTT快速数论变换
  10. 通俗易懂,常用线程池执行的-流程图