首页 > 其他分享 >分布式ID性能评测:CosId VS 美团 Leaf

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

时间:2023-07-28 23:01:42浏览次数:39  
标签:Leaf ops 美团 VS 基准 CosId generate thrpt

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

基准测试环境

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

运行基准测试

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

git clone [email protected]:Ahoo-Wang/CosId.git
cd cosid-benchmark
./gradlew jmh

基准测试报告

# 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 iterations

Benchmark                     (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 性能优于 Leaf,CosId 性能是 Leaf 的 5 倍左右。
  2. CosId 、Leaf 的性能与号段步长(Step) 无关。
  3. CosId TPS 基本接近 AtomicLong ,参考 https://www.cnblogs.com/Ahoo-Wang/p/cosid-segment-chain.html。

标签:Leaf,ops,美团,VS,基准,CosId,generate,thrpt
From: https://www.cnblogs.com/Ahoo-Wang/p/cosid-vs-leaf.html

相关文章

  • 文心一言 VS 讯飞星火 VS chatgpt (67)-- 算法导论6.5 6题
    文心一言VS讯飞星火VSchatgpt(67)--算法导论6.56题六、在HEAP-INCREASE-KEY的第5行的交换操作中,一般需要通过三次赋值来完成。想一想如何利用INSERTION-SORT内循环部分的思想,只用一次赋值就完成这一交换操作?文心一言:在HEAP-INCREASE-KEY的第5行交换操作中,我们可以通......
  • 基于VScode的wsl2的conda使用
    一、安装conda环境(基于docker的)1.1MicroSoft对于wsl2和docker的官方解释:https://learn.microsoft.com/en-us/windows/wsl/use-custom-distro1.2对于docker和wsl2原理解析:https://zhuanlan.zhihu.com/p/4817409141.3安装完docker环境和container环境后直接在VScode中......
  • 如何在VSCode中配置GitHub GPT代码辅助提示工具
    安装GitHubGPT插件(如果有的话):在VSCode扩展市场中搜索并安装GitHubGPT插件。该插件可能还不存在,如果是这样,你可能需要开发自定义的代码提示插件。在此假设有一个现有的插件可用。安装VSCode:如果你还没有VSCode,首先要安装它。你可以从VSCode的官方网站(http://www.duozitu.com......
  • ubuntu 使用vsftpd 创建FTP服务(用户名密码登录,限制列出目录)
    vsftpd介绍ubuntu安装vsftpd配置vsftpd备份vsftpdconfig编辑vsftpdconfig创建登录用户添加vsftpd登录用户添加vsftpd登录用户对目录树的权限重启vsftpd服务验证ftp服务vsftpd介绍vsftpd是“verysecureFTPdaemon”的缩写,安全性是它的一个最大的特点。vsftpd是一个UNIX......
  • 关于SkeyeVSS平台用户管理功能的场景分析
    关于SkeyeVSS平台用户管理功能的场景分析SkeyeVSS视频融合云平台是视开科技开发的一款基于端-边-云一体化架构的视频融合+AI智能分析网关平台,SkeyeVSS平台支持视频汇聚、融合管理,能兼容多类型设备、多协议接入,可提供的视频功能包括:视频监控、无插件直播录像、云存储、检索回放、智......
  • ubuntu下用vs code管理gitee仓库,上传、下载代码,基于git
    一、下载安装git下载:sudoapt-getinstallgit卸载:sudoapt-getremovegit下载之前可以先:sudoapt-getupgrade/update一下二、配置本地信息配置本地信息,相当于是设置提交代码时的用户信息。gitconfig[--global]user.name"[name]"gitconfig[--global]use......
  • VS 还原 NuGet 程序包时出错: 无法加载源 https://dotnet.myget.org/F/aspnetcore-dev
    错误还原NuGet程序包时出错:无法加载源https://dotnet.myget.org/F/aspnetcore-dev/api/v3解决方法在新源中添加地址:https://www.nuget.org/api/v2/......
  • Dapper vs Entity Framework: 你应该选择哪一个 ORM 工具?
    对象关系映射(ORM)是一种常见的技术,用于将应用程序中的对象映射到数据库中的表格。它减少了与数据库交互所需的重复代码量,并使编写易于维护的代码更加容易。在.NET中的ORM工具中,最著名的两个工具是Dapper和EntityFramework。本文将比较这两个工具,并根据您的特定需求帮助您......
  • ipvs kubernetes
    IPVS在Kubernetes中的使用在Kubernetes中,为了实现负载均衡和高可用性,通常会使用一种名为IPVirtualServer(IPVS)的技术。IPVS是Linux内核提供的一种负载均衡工具,可以将网络流量分发到后端多个服务实例上,以提高应用程序的性能和可靠性。IPVS通过工作在网络层的负载均衡器,将流量转发......
  • 《Win32篇》新建项目vs2008
    VS2008新建项目参考链接:https://blog.csdn.net/candyliuxj/article/details/7350053(1)新建Win32项目点击上图的确定后,出现Win32应用程序向导,点击下一步,出现下图界面,选择附加选项中的空项目,点击完成,新建项目完成。(2)添加预编译头从解决方案资源管理器中可看到,新建的Win32项目......