当前位置: 首页 > 知识库问答 >
问题:

性能调优库和Java8流库

爱博达
2023-03-14

有许多java第三方库可用于在Java集合中提供高性能。根据这篇DZONE文章,有一些本机库遵循OSGI模型,并在Java集合中提供高性能,或者还执行一些其他操作。现在在Java8中启动了Streams以在集合库中提供良好的性能,我们还使用Streams执行一些并行操作。现在,以下是我的问题:

  1. Java Streams的性能是否比第三方库(如TroveJavolution等)更好。
  2. 是否可以将Java 8 Streams与其他集合库一起使用?

共有1个答案

郏博瀚
2023-03-14

>

  • Trove原始集合甚至不是Java collections Framework的一部分(不实现<code>Collection</code>、<code>List</code>、<code>Map</ccode>接口),但原则上不妨碍它们提供流API。

    Trove、Javalution和我正在跟踪的大多数其他集合库还不支持高效的流实现。他们没有覆盖Splterator()方法来返回Splterator实现,该实现应该覆盖try Split()方法以利用并行流特性。

    正如我在这里提到的:Java8:Streams与Collections的性能Streams并不是一个银级的性能子弹,只有当您还没有并行处理您的庞大集合时,它们可能会有很大的帮助,但在使用并行流时没有障碍。

  •  类似资料:
    • 对于某些工作负载,可以在通过在内存中缓存数据或者打开一些实验选项来提高性能。 在内存中缓存数据 Spark SQL可以通过调用sqlContext.cacheTable("tableName")方法来缓存使用柱状格式的表。然后,Spark将会仅仅浏览需要的列并且自动地压缩数据以减少内存的使用以及垃圾回收的 压力。你可以通过调用sqlContext.uncacheTable("tableName")

    • 集群中的Spark Streaming应用程序获得最好的性能需要一些调整。这章将介绍几个参数和配置,提高Spark Streaming应用程序的性能。你需要考虑两件事情: 高效地利用集群资源减少批数据的处理时间 设置正确的批容量(size),使数据的处理速度能够赶上数据的接收速度 减少批数据的执行时间 设置正确的批容量 内存调优

    • 常用命令 1. 查看系统 CPU 总数 $ grep -c ^processor /proc/cpuinfo $ lscpu 2. 查看网卡信息,主机名 $ hostname $ ip addr show eth0 3. 查看系统上运行的服务 # systemctl list-units -t service | awk '$3=="active"' ** ** ** **

    • 硬件因素 内存(RAM)的读写速度时普通 SSD 的 25 倍。MongoDB 中依赖 RAM 最多的操作包括:聚合、索引遍历、写操作、查询引擎、连接 Table 1. 常见存储的IOPS 类型 IOPS 7200 rpm SATA 75 - 100 15000 rpm SAS 175 - 210 SSD Intel X25-E(SLC) 5000 SSD Intel X25-M G2(MLC)

    • 本文向大家介绍Hadoop性能调优?相关面试题,主要包含被问及Hadoop性能调优?时的应答技巧和注意事项,需要的朋友参考一下 调优可以通过系统配置、程序编写和作业调度算法来进行。 hdfs的block.size可以调到128/256(网络很好的情况下,默认为64) 调优的大头:mapred.map.tasks、mapred.reduce.tasks设置mr任务数(默认都是1) mapred.ta

    • 主要内容:硬件和操作系统问题,运行时配置问题,编译时配置问题,原子操作,附录:跟踪的详细分析Apache 2.x是一个通用的Web服务器,旨在提供灵活性,可移植性和性能之间的平衡。虽然它没有专门设计用于设置基准记录,但Apache 2.x在许多实际情况下都具有高性能。 与Apache 1.3相比,版本2.x包含许多额外的优化,以提高吞吐量和可伸缩性。默认情况下,大多数这些改进都已启用。但是,存在可能显着影响性能的编译时和运行时配置选择。本文档介绍了服务器管理员可以配置的选项,以调整Apa