首页 > 其他分享 >安利一个高性能集合库

安利一个高性能集合库

时间:2024-05-30 14:23:39浏览次数:36  
标签:primitive linear int long 安利 probing 高性能 agrona 集合

在找现成的 IntArrayList 发现的:

real-logic/agrona: High Performance data structures and utility methods for Java

  • Buffers - Thread safe direct and atomic buffers for working with on and off heap memory with memory ordering semantics.
  • Lists - Array backed lists of int/long primitives to avoid boxing.
  • Maps - Open addressing and linear probing with int/long primitive keys to object reference values.
  • Maps - Open addressing and linear probing with int/long primitive keys to int/long values.
  • Sets - Open addressing and linear probing for int/long primitives and object references.
  • Cache - Set Associative with int/long primitive keys to object reference values.
  • Clocks - Clock implementations to abstract system clocks, allow caching, and enable testing.
  • Queues - Lock-less implementations for low-latency applications.
  • Ring/Broadcast Buffers - implemented off-heap for IPC communication.
  • Simple Agent framework for concurrent services.
  • Signal handling to support "Ctrl + c" in a server application.
  • Scalable Timer Wheel - For scheduling timers at a given deadline with O(1) register and cancel time.
  • Code generation from annotated implementations specialised for primitive types.
  • Off-heap counters implementation for application telemetry, position tracking, and coordination.
  • Implementations of InputStream and OutputStream that can wrap direct buffers.
  • DistinctErrorLog - A log of distinct errors to avoid filling disks with existing logging approaches.
  • IdGenerator - Concurrent and distributed unique id generator employing a lock-less implementation of the Twitter Snowflake algorithm.
<dependency>
    <groupId>org.agrona</groupId>
    <artifactId>agrona</artifactId>
    <version>1.21.1</version>
</dependency>

标签:primitive,linear,int,long,安利,probing,高性能,agrona,集合
From: https://www.cnblogs.com/inshua/p/18222235

相关文章

  • Unity各类资源链接汇总集合
    不定时更新最新的资源都会放在前面UnityARVRMixedReality4.0 虚拟现实虚拟加强插件链接:https://pan.baidu.com/s/1fETUcJfnOlqQR1_rYL4jHQ?pwd=qvcxUnityInventoryPlusCustomizableSystem 2.0.0背包库存工具链接:https://pan.baidu.com/s/1yEsmDvIkyY40E6......
  • 3.4K Star!一个高性能的跨平台图表库!支持H5、APP、及各种小程序!太强了!
    大家好!我是赵老师,专门搜罗分享一些优秀开源项目、工具软件等以及进行一些原创技术分享和干货文章分享!喜欢的童鞋可以点个关注加在看,大家也可以在留言区进行探讨,谢谢啦!这是一款专为小程序而生的高性能跨平台图表库。它支持H5图表、APP图表以及各类小程序图表(包括微信小程序、......
  • 获取集合成员的联合类型
    给定一个具有联合成员的Set类型:typeMySet=Set<"foo"|"bar">;如何为其成员提取一个联合类型,就像这样:typeMySetMembers="foo"|"bar";......
  • 从 .NET 到 C++:集合处理的思考
    1.IEnumerable与List的比较在.NET中,IEnumerable和List是两种常用的集合类型,它们有各自的适用场景:IEnumerable<T>:优点:惰性求值,仅在迭代时计算,适用于大数据集或流式数据处理。缺点:不能进行索引访问,没有直接的添加或移除元素的方法。List<T>:优点:支持索引访问,具备......
  • 大集合!!C语言指针知识要点大合集!!小白不要错过喔!!收藏这一篇就足够!!(1)
    指针!!是C语言最本质的特征,学好了指针才能算正式入门C语言喔!!如果你是C语言小白,看这篇文章就对啦!!✍什么是指针?在学习指针之前,我们要先了解内存。我们的代码在运行的时候,会把数据存放在哪里?放在内存里!内存地址内存就像是一栋大旅馆,这栋旅馆里有许多房间,每个房间有着不同的房......
  • Hadoop HDFS DataNode存储高性能,高可用和高并发设计
    胡弦,视频号2023年度优秀创作者,互联网大厂P8技术专家,SpringCloudAlibaba微服务架构实战派(上下册)和RocketMQ消息中间件实战派(上下册)的作者,资深架构师,技术负责人,极客时间训练营讲师,四维口袋KVP最具价值技术专家,技术领域专家团成员,2021电子工业出版社年度优秀作者,获得2023电......
  • 高性能MySQL实战(一):表结构
    最近因需求改动新增了一些数据库表,但是在定义表结构时,具体列属性的选择有些不知其所以然,索引的添加也有遗漏和不规范的地方,所以我打算为创建一个高性能表的过程以实战的形式写一个专题,以此来学习和巩固这些知识。1.实战我使用的MySQL版本是5.7,建表DDL语句如下所示:根据需......
  • 实体类对象和map集合相互转化的常用方法
    准备数据@Data@Builder@NoArgsConstructor@AllArgsConstructorpublicclassUser{privateStringaccount;privateStringname;privateStringpassword;privateStringmobile;}第一种:使用Hutool工具publicclasstestClass{......
  • MySQL四种主要的存储引擎,约束条件null not null,严格模式,基本字段类型之整型,浮点型,
    ⅠMySQL之存储引擎【一】什么是存储引擎日常生活中文件格式有很多,并且针对不同的文件格式会有对应不同的存储方式和处理机制针对不同的数据应该有对应的不同的处理机制存储引擎就是不同的处理机制【二】MySQL四种主要的存储引擎【1】Innodb是MySQL5.5版本之后的默认存......
  • LLM 大模型学习必知必会系列(七):掌握分布式训练与LoRA/LISA微调:打造高性能大模型的秘
    LLM大模型学习必知必会系列(七):掌握分布式训练与LoRA/LISA微调:打造高性能大模型的秘诀进阶实战指南1.微调(SupervisedFinetuning)指令微调阶段使用了已标注数据。这个阶段训练的数据集数量不会像预训练阶段那么大,最多可以达到几千万条,最少可以达到几百条到几千条。指令微调可以......