当前位置: 首页 > news >正文

分布式ID性能评测:CosId VS 美团 Leaf

环境

  • MacBook Pro (M1)
  • JDK 17
  • JMH 1.36
  • 运行在本机 Docker 内的 mariadb:10.6.4

运行

CosId SegmentChainId 模式,基准测试代码:

    @Benchmarkpublic long generate() {return segmentChainId.generate();}

Leaf 基准测试代码:

    @Benchmarkpublic long generate() {Result result = idGen.get(bizTag);if (Status.SUCCESS.equals(result.getStatus())){return result.getId();}return generate();}

基准测试代码: https://github.com/Ahoo-Wang/CosId/tree/main/cosid-benchmark

git clone git@github.com:Ahoo-Wang/CosId.git
cd cosid-benchmark
./gradlew jmh

or

gradle jmhJar
java -jar build/libs/cosid-benchmark-2.2.6-jmh.jar -wi 1 -rf json -f 1

报告

# JMH version: 1.36
# VM version: JDK 17.0.7, OpenJDK 64-Bit Server VM, 17.0.7+7-LTS
# Warmup: 1 iterations, 10 s each
# Measurement: 1 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterationsBenchmark                     (step)   Mode  Cnt          Score   Error  Units
AtomicLongBenchmark.generate     N/A  thrpt       142725210.565          ops/s
CosIdBenchmark.generate            1  thrpt       131920684.604          ops/s
CosIdBenchmark.generate          100  thrpt       132113994.232          ops/s
CosIdBenchmark.generate         1000  thrpt       130281016.155          ops/s
LeafBenchmark.generate             1  thrpt        25787669.815          ops/s
LeafBenchmark.generate           100  thrpt        23897328.183          ops/s
LeafBenchmark.generate          1000  thrpt        23550106.538          ops/s

CosId VS 美团 Leaf

GitHub Action 环境测试报告: Performance: CosId vs Leaf

因受到 GitHub Runner 资源限制,运行在 GitHub Runner 中的基准测试与真实环境基准测试对比有非常大的差距(近2倍),
但是对于运行在同一环境配置资源情况下(都运行在 GitHub Runner),进行 commit 前后的基准对比、以及第三方库的对比依然是有价值的。

结论

  1. CosId (SegmentChainId) 性能是 Leaf (segment) 的 5 倍。
  2. CosId 、Leaf 的性能与号段步长(Step) 无关。
  3. CosId TPS 基本接近 AtomicLong

相关文章:

分布式ID性能评测:CosId VS 美团 Leaf

环境 MacBook Pro (M1)JDK 17JMH 1.36运行在本机 Docker 内的 mariadb:10.6.4 运行 CosId SegmentChainId 模式,基准测试代码: Benchmarkpublic long generate() {return segmentChainId.generate();}Leaf 基准测试代码: Benchmarkpublic l…...

MySQL数据库安装(二)

夕阳留恋的不是黄昏,而是朝阳 上一章简单介绍了MySQL数据库概述(一), 如果没有看过, 请观看上一章 一. MySQL 卸载 一.一 停止MySQL服务 在卸载之前,先停止MySQL8.0的服务。按键盘上的“Ctrl Alt Delete”组合键,打开“任务管理器”对话…...

通过MySQL删除Hive元数据信息

之前遇到过一个问题,在进行Hive的元数据采集时,因为Hive表的文件已经被删除了,当时是无法删除表,导致元数据采集也发生了问题,所以希望通过删除Hive表的元数据解决上述问题。 之前安装时,经过特定的配置后…...

在电脑如何翻译文件名称并同时保存原文件名和新文件名称

不知道大家在日常工作中有没有遇见到文件名英语或其他评论文字需要翻译成中文呢,翻译成中文后,需要把原来文件名称一起保存下来,呈现上新文件名上。也是通俗的说法,新文件名称也有原文件名称在呢。这个就有点难度吧。一般我们常见…...

Modbus协议简介与常用测试指令说明

DateAuthorVersionNote2022.07.19Dog TaoV1.01. 完成了文档的撰写。2023.08.04Dog TaoV1.21. 修订文档,增加了Modbus协议简介小节。 本文档提供ModbusPoll调试软件与官方部署文档合辑资源(CSDN平台)。 文章目录 Modbus协议简介发展历史主要技…...

EXCEL里数值列如何显示序号?如何重新排序? 怎么取得排序后的序号?

目录 1 EXCEL里如何显示序号? 2 如何重新排序? 3 怎么取得排序后的序号? 3.1 rank() 的序号可能不连续 3.2 方法2:SUMPRODUCT((C7>C$7:C$12)/COUNTIF(C$7:C$12,C$7:C$12))1 EXCEL里如何显示序号?如何重新排序…...

kubernetes 集群利用 efk 收集容器日志

文章目录 [toc]前情提要制作 centos 基础镜像准备 efk 二进制文件部署 efk 组件配置 namespace配置 gfs 的 endpoints配置 pv 和 pvc部署 elasticsearchefk-cmefk-svcefk-sts 部署 filebeatfilebeat-cmfilebeat-ds 部署 kibanakibana-cmkibana-svckibana-dp使用 nodeport 访问 …...

安防视频监控汇聚平台EasyCVR在移动端火狐浏览器中云台显示的优化

安防监控视频EasyCVR视频融合平台基于云边端一体化架构,具有强大的数据接入、视频监控汇聚、处理及分发能力,平台能对前端接入设备进行统一集中管理,支持采用设备树对设备进行分组、分级管理,支持设备状态监测、云端运维等功能&am…...

selenium官文文档阅读总结(day 3)

1.关联型xpath的用法 driver.find_element(By.XPATH,//a[text()"xxx"]/ancestor::祖先元素的标签名//……) 2.selenium等待 等待的作用 :在系统运行的过程中,等待网页内容的加载显示。需要耗费的时间,与网络速度、接口的复杂程度…...

【pandas百炼成钢】数据预览与预处理

知识目录 前言一、数据查看1 - 查看数据维度2 - 随机查看5条数据3 - 查看数据前后5行4 - 查看数据基本信息5 - 查看数据统计信息|数值6 - 查看数据统计信息|非数值7 - 查看数据统计信息|整体 二、缺失值处理8 - 计算缺失值|总计9 …...

怎么查到企业的供应商和客户?

企业的供应商和客户是什么? 其实不需要过多介绍,我们对供应商和客户都有自己的理解,供应商就是负责企业产品的供应,企业从供应商那里买材料进行加工得到的产品,卖给客户。 官方来说供应商是向企业和竞争对手提供各种…...

智能物流千人俱乐部---行业必备神器

千人俱乐部前两天正式推出了。 智能物流千人俱乐部详情 很多行业内的甲方和乙方的朋友过来问,这个千人俱乐部到底怎么玩?今天再来解释一下。 1、为什么搞这个千人俱乐部? 一个原因是:研习社天天都有甲方粉丝让推荐设备厂家&#x…...

uniapp uview文件上传的文件不是文件流,该如何处理?用了uni.chooseImage预览功能要如何做

在使用uniapp开发,运用的ui是用uview,这边需要做一个身份认证,如下图 使用的是uview的u-upload组件,可是这个组件传给后端的不是文件流 后端接口需要的是文件流格式,后面使用了uniapp的选择图片或者拍照的api&#x…...

pktgen-dpdk arm编译问题 “Platform must be built with RTE_FORCE_INTRINSICS“

编译报错 /usr/include/rte_atomic_32.h:9:4: error: #error Platform must be built with RTE_FORCE_INTRINSICS解决办法: 我是在 arm架构服务器上编译出现这个,要定义 RTE_FORCE_INTRINSICS 在meson.build中 增加gcc编译参数 add_project_arguments(…...

用html+javascript打造公文一键排版系统12:删除附件说明中“附件:”里的空格

如果我们在输入附件说明时在“附件&#xff1a;”之间加入空格&#xff0c;那么排版时就要删除这些空格。 因为string对象replace()支持正则表达式&#xff0c;于是考虑用replace()来完成。 写了一段只有一个多余空格的代码来测试&#xff1a; <!DOCTYPE HTML> <HT…...

容器技术:Docker搭建(通俗易懂)

目录 Docker搭建环境准备Docker安装1、查看服务器是否安装Docker2、卸载Docker3、安装Dokcer依赖环境4、配置Docker国内阿里云镜像5、安装Docker6、查看Docker信息7、配置阿里云镜像加速8、镜像安装10、运行实例11、查看实例状态12、测试 Docker命令集合 Docker搭建 环境准备 …...

Day 16 C++ 友元(friend)

目录 什么是友元&#xff08;friend&#xff09; 友元的三种实现 全局函数做友元 类做友元 成员函数做友元 什么是友元&#xff08;friend&#xff09; 友元是一种访问控制的机制&#xff0c;它允许一个类或函数访问另一个类的私有成员。通过友元关系&#xff0c;可以在需要…...

步进电机1

引脚说明&#xff1a; VCC&#xff1a;电源输入口 DC:9-42VDC&#xff1a;电源的取值范围 AB组&#xff1a;用于连接电机的四条线 STEP&PUL&#xff1a;脉冲信号接口&#xff0c;用于控制速度。无细分的情况下一个脉冲步进电机走一步。 DIR&#xff1a;方向信号接口&#x…...

PHP-简单项目引起的大麻烦--【白嫖项目】

强撸项目系列总目录在000集 PHP要怎么学–【思维导图知识范围】 文章目录 本系列校训本项目使用技术 首页小插曲小插曲完了么&#xff1f;必要的项目知识PHPThinkPHPThinkPHP的MVCThinkTemplateThinkPHP 6和ThinkPHP 5 phpStudy 设置导数据库展示页面数据库表结构项目目录如图…...

Excel如何把两列互换

第一步&#xff1a;选择一列 打开excel&#xff0c;选中一列后将鼠标放在列后&#xff0c;让箭头变成十字方向。 第二步&#xff1a;选择Shift键 按住键盘上的Shift键&#xff0c;将列往后移动变成图示样。 第三步&#xff1a;选择互换 完成上述操作后&#xff0c;松开鼠标两…...

GitHub 热榜项目 - 日榜(2026-04-13)

GitHub 热榜项目 - 日榜(2026-04-13) 生成于&#xff1a;2026-04-13 统计摘要 共发现热门项目&#xff1a; 14 个 榜单类型&#xff1a;日榜 Token赞助&#xff1a;siliconflow 本期热点趋势总结 本期 GitHub 热榜呈现出 AI Agent&#xff08;智能体&#xff09;工程化与…...

Scroll Reverser:彻底解决Mac多设备滚动冲突的终极方案

Scroll Reverser&#xff1a;彻底解决Mac多设备滚动冲突的终极方案 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 你是否曾经在MacBook上使用触控板时习惯自然滚动&#xff08;…...

Cortex-A7 MPCore 架构

鉴于学习的硬件使用的是Cortex-A7架构&#xff0c;本章学习该架构的相关知识。了解了 Cortex-A7 架构以后有利于我们后面的学习&#xff0c;因为后面有很多例程涉及到 Cortex-A7 架构方面的知识&#xff0c;比如处理器模型、 Cortex-A7 寄存器组等等。Cortex-A7 MPCore 简介Cor…...

ClearerVoice-Studio企业级方案:基于SpringBoot的智能客服语音优化系统

ClearerVoice-Studio企业级方案&#xff1a;基于SpringBoot的智能客服语音优化系统 1. 引言 想象一下这样的场景&#xff1a;客服中心每天处理成千上万的客户来电&#xff0c;但通话质量却参差不齐。有的客户在嘈杂的街头打电话&#xff0c;背景是车水马龙的噪音&#xff1b;…...

文墨共鸣模型自动化作业批改应用:针对编程与文本作业的智能评估

文墨共鸣模型自动化作业批改应用&#xff1a;针对编程与文本作业的智能评估 最近和几位当老师的朋友聊天&#xff0c;他们都在感慨&#xff0c;批改作业真是个体力活&#xff0c;尤其是编程作业和文科的问答题。编程题要一行行看逻辑、查错误&#xff0c;文科题要逐字逐句分析…...

FireRedASR-AED-L医疗术语库集成:CT报告、处方药名、解剖学名词精准识别

FireRedASR-AED-L医疗术语库集成&#xff1a;CT报告、处方药名、解剖学名词精准识别 1. 引言&#xff1a;当语音识别遇上专业医疗场景 想象一下&#xff0c;一位医生正在口述一份复杂的CT报告&#xff1a;“左侧颞叶可见一约1.5cm2.0cm的稍高密度影&#xff0c;边界欠清&…...

51单片机电子琴:从播放到弹奏的双模实现与硬件设计

1. 51单片机电子琴的双模设计思路 第一次接触51单片机电子琴项目时&#xff0c;最让我兴奋的就是这个"双模切换"的设计。简单来说&#xff0c;就是让同一个硬件既能像MP3一样播放预存的音乐&#xff0c;又能像真实电子琴那样实时弹奏。这种设计不仅实用&#xff0c;而…...

nli-distilroberta-base多场景:教育AI中错题归因与知识点描述逻辑关联

nli-distilroberta-base多场景&#xff1a;教育AI中错题归因与知识点描述逻辑关联 1. 项目概述 nli-distilroberta-base是一个基于DistilRoBERTa模型的自然语言推理(NLI)Web服务&#xff0c;专门用于分析两个句子之间的逻辑关系。在教育AI领域&#xff0c;这项技术可以发挥重…...

2025届学术党必备的六大降重复率工具解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 对于维普系统检测AI生成内容的情况&#xff0c;要想降低AI率&#xff0c;得从文本特征调整这…...

AI Agent开发者如何准备秋招:时间线与重点

简单说就是你拿到offer后能不能快速上手干活儿做项目&#xff0c;至于学历背景&#xff0c;本科以上基本满足大部分公司的绝大部分职业方向门槛了。下面我直接把我当时走通的路线讲明白&#xff0c;你照这个节奏去做&#xff0c;基本不会偏。 刚开始我也是无从下手&#xff0c;…...