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

对在aarch64 Linux环境编译安装的CinderX补充测试

前文最后说CinderX报错不能用这不对我在其github存储库上提了这个issuealexmalyshev回复I think that’s actually just a warning that you’re getting but things should be working after that?Right, this is just a logged warning that CinderX tried to enable huge pages but wasn’t able to. It falls back to using normal pages.我认为那实际上只是一个警告在那之后一切应该仍能正常运行是的这只是一个记录在案的警告表示 CinderX 尝试启用大页但未能成功因此它会回退到使用普通页面。下面是测试结果nbskylin-pc:~/par$ sudo docker start gcc142 输入密码 gcc142 nbskylin-pc:~/par$ sudo docker exec -it gcc142 bash rootkylin-pc:/# cd /par/uv314 rootkylin-pc:/par/uv314# source .venv/bin/activate cinderx.jit.compile_after_n_calls(1) (uv314) rootkylin-pc:/par/uv314# time python ../pe932e.py JIT: /par/cinderx-2026.3.30.0/cinderx/Jit/code_allocator.cpp:62 -- Failed to madvise [0x7fa1ffc000, 0x7fa21fc000) with MADV_HUGEPAGE, errno22 T(16) 72673459417881349.time18.62825632095337 T(16) 72673459417881349.time9.188195705413818 real 0m27.987s user 0m27.694s sys 0m0.047s -- cinderx.jit.compile_after_n_calls(0) (uv314) rootkylin-pc:/par/uv314# time python ../pe932e.py JIT: /par/cinderx-2026.3.30.0/cinderx/Jit/code_allocator.cpp:62 -- Failed to madvise [0x7fa0cdc000, 0x7fa0edc000) with MADV_HUGEPAGE, errno22 T(16) 72673459417881349.time11.874915599822998 T(16) 72673459417881349.time12.66346549987793 real 0m24.587s user 0m24.465s sys 0m0.012s可见不管是cinderx.jit.compile_after_n_calls(1)还是cinderx.jit.compile_after_n_calls(0)JIT后都比原始版本提速了。关于这个问题我也发issue提问了。alexmalyshev回复There could be a number of reasons for this, but most likely it’s because letting functions run through the interpreter once allows the CPython adaptive interpreter to emit specialized opcodes (e.g. BINARY_OP_ADD_INT instead of BINARY_OP) and CinderX can make use of that to generate faster code. Feel free to run with PYTHONJITDUMPFINALHIR1 in your environment to compare CinderX’s internal representation for each function between the two runs.In general we don’t recommend compile_after_n_calls(0) for general usage as it’s not meant to be performant. It’s primarily helpful to test CinderX compatibility for your code.出现这种情况可能有多种原因但最有可能的是让函数通过解释器运行一次能使 CPython 的自适应解释器发出特化的操作码例如BINARY_OP_ADD_INT而非BINARY_OP而 CinderX 可以利用这一点来生成更快的代码。你可以在环境中设置PYTHONJITDUMPFINALHIR1来比较两次运行之间 CinderX 对每个函数的内部表示差异。一般来说我们不建议在日常使用中设置compile_after_n_calls(0)因为这样做的目的并不是为了追求性能。它主要用于帮助你测试代码与 CinderX 的兼容性。我也用他建议的PYTHONJITDUMPFINALHIR1参数测试了确实两者输出的内部表示差别很大。compile_after_n_calls(0)的输出非常冗长不像认真优化过的。还有两个方法cinderx.jit.force_compile(fun)和cinderx.jit.lazy_compile(fun), 分别是立即编译和延迟编译它们俩的效果没太大区别都和compile_after_n_calls(1)的加速比一致。(uv314) rootkylin-pc:/par/uv314# time python ../pe932d.py N2499500025000000, a24995000, b25000000, k8, s49995000 T(16) 72673459417881349,time14.928523063659668 real 0m14.948s user 0m14.871s sys 0m0.004s (uv314) rootkylin-pc:/par/uv314# (uv314) rootkylin-pc:/par/uv314# time python ../pe932e.py JIT: /par/cinderx-2026.3.30.0/cinderx/Jit/code_allocator.cpp:62 -- Failed to madvise [0x7fbbb7c000, 0x7fbbd7c000) with MADV_HUGEPAGE, errno22 T(16) 72673459417881349.time14.70127558708191 cinderx.jit.force_compile(solve_T16) T(16) 72673459417881349.time8.867673873901367 real 0m23.639s user 0m23.529s sys 0m0.012s (uv314) rootkylin-pc:/par/uv314# time python ../pe932e.py JIT: /par/cinderx-2026.3.30.0/cinderx/Jit/code_allocator.cpp:62 -- Failed to madvise [0x7fa909c000, 0x7fa929c000) with MADV_HUGEPAGE, errno22 T(16) 72673459417881349.time14.878132820129395 cinderx.jit.lazy_compile(solve_T16) T(16) 72673459417881349.time9.286654710769653 real 0m24.211s user 0m24.080s sys 0m0.024s

相关文章:

对在aarch64 Linux环境编译安装的CinderX补充测试

前文最后说,CinderX报错不能用,这不对,我在其github存储库上提了这个issue,alexmalyshev回复 I think that’s actually just a warning that you’re getting but things should be working after that?Right, this is just a l…...

springcloud项目如何禁用三方依赖的拦截器

背景: 原始代码中有一个自定义的通用依赖,这个依赖中有很多通用方法和拦截器供整个系统使用。 需求: 禁用其中一个拦截器,保留其他方法和拦截器,过滤器等。 拦截器介绍 原有拦截器,自己封装了一个jdk&#…...

如何查看浏览器中当前存储的 Cookie?

如何查看浏览器中的 Cookie?为什么有些 Cookie 看不到?1. 引言:快递单号与隐私信封2. Cookie 是什么?(小白必备)3. 核心问题:为什么有些 Cookie“看不到”?4. 如何查看 Cookie&#…...

如何保证 Session ID 的随机性和不可猜测性?

你的 Session ID 安全吗?—— 从可预测的“门禁卡”到安全的“加密钥匙”1. 引言:一张编号可以被猜到的门禁卡2. Session 与 Session ID:会话的“钥匙”3. 为什么 Session ID 必须随机且不可预测?4. 攻击详解:会话劫持…...

OpenClaw安全防护:Phi-3-mini操作权限管控方案

OpenClaw安全防护:Phi-3-mini操作权限管控方案 1. 为什么需要OpenClaw安全防护 上周我在调试一个自动化文档整理任务时,差点酿成大错。当时OpenClaw连接的Phi-3-mini模型误解了我的指令,试图删除整个工作目录下的文件。虽然及时终止了进程&…...

容器环境下各种兼容模式+多实例

注意: #多实例端口不同数据目录不同容器名不同 1. -p 主机端口:容器端口 容器端口永远是 54321(不用改) 主机端口必须不一样:4321、4322、4323... 一个端口只能给一个数据库用,就像一个门不能同时进两个人。2. -v 主机…...

10. Doris 系列第10篇:数据查询全攻略|Join/子查询/窗口函数,从基础到高级实战

适合人群:大数据开发、Doris查询调优工程师、数仓分析师、BI工程师核心价值:吃透Doris 2.x数据查询核心能力,掌握Join算法选型、子查询优化、多维聚合、窗口函数实战,解决查询慢、资源浪费、语法报错等问题系列说明:本…...

从package.xml到CMakeLists.txt:手把手教你配置一个ROS1机器人控制包(附完整项目模板)

从package.xml到CMakeLists.txt:构建工业级ROS1机器人控制包的完整指南 在机器人操作系统(ROS)开发中,功能包的配置质量直接影响项目的可维护性和扩展性。本文将带您深入理解ROS1功能包的核心配置文件,通过一个完整的工业机器人控制包案例&am…...

告别上位机!纯FPGA实现exFAT文件系统,让你的高速数据直接存成标准文件

纯FPGA实现exFAT文件系统:硬件工程师的高速存储革命 在高速数据采集领域,从雷达信号处理到卫星通信,工程师们长期面临一个核心痛点:如何将海量原始数据高效、可靠地转换为标准文件格式。传统方案依赖上位机或嵌入式处理器进行文件…...

OpenCV透视变换实战:从文档矫正到AR应用

1. 透视变换基础:从原理到生活场景 想象一下你正在用手机拍摄一张放在桌上的发票,由于角度问题,发票在照片里变成了梯形。这时候你需要的正是透视变换——它能把这个梯形"掰正"成规整的矩形。在计算机视觉领域,透视变换…...

Apollo6.0 Lattice算法实战解析——从轨迹组合到最优路径生成

1. Lattice算法在Apollo6.0中的核心作用 Lattice算法是Apollo自动驾驶系统中的关键路径规划模块,它负责将横向和纵向轨迹进行智能组合,最终生成安全、舒适且符合交通规则的最优行驶路径。这个算法就像一位经验丰富的导航员,不仅要考虑车辆当前…...

别再死磕逐位计算了!用C语言手撸一个CRC32查表函数(附完整代码和表格生成)

从零构建高性能CRC32查表算法:嵌入式场景的极致优化实践 在嵌入式开发中,数据校验的效率和资源消耗往往成为系统设计的瓶颈。传统逐位计算的CRC32实现虽然直观,但在处理高速数据流或资源受限环境时,其性能劣势暴露无遗。查表法通过…...

ComfyUI-WanVideoWrapper全栈指南:从认知到实践的AI视频生成解决方案

ComfyUI-WanVideoWrapper全栈指南:从认知到实践的AI视频生成解决方案 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 一、认知篇:理解AI视频生成的技术基础 1.1 核心概念…...

微信聊天记录本地管理:WeChatMsg实现数据主权与记忆留存的完整方案

微信聊天记录本地管理:WeChatMsg实现数据主权与记忆留存的完整方案 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trend…...

快马平台快速原型:十分钟搭建openclaw skills机器人抓取仿真环境

最近在研究机器人抓取技能(openclaw skills)的仿真验证,发现用InsCode(快马)平台可以快速搭建原型环境。整个过程比想象中简单很多,十分钟就能跑通基础功能,分享下具体实现思路: 场景搭建 先用Three.js创建…...

5分钟掌握gInk:让屏幕标注如同纸上书写的终极指南

5分钟掌握gInk:让屏幕标注如同纸上书写的终极指南 【免费下载链接】gInk An easy to use on-screen annotation software inspired by Epic Pen. 项目地址: https://gitcode.com/gh_mirrors/gi/gInk 你是否曾在远程会议中,试图在共享屏幕上圈出重…...

ai赋能开发:使用快马平台智能优化openclaw 101抓取控制算法

最近在优化一个机械臂抓取控制项目时,发现传统的手动调参和算法改进效率太低。正好尝试了InsCode(快马)平台的AI辅助开发功能,整个过程让我对智能化编程有了全新认识。下面分享用AI优化OpenClaw 101控制算法的完整经历: 原始问题分析 初始代码…...

河海大学819传热学考研复试备考资料(新能源学院·清洁能源技术专硕专用)

温馨提示:文末有联系方式【权威备考】河海大学819传热学复试专属资料包 本资料由2025届成功录取河海大学新能源学院清洁能源技术专业硕士的学长亲自整理,初试与复试综合成绩稳居前三,内容高度贴合最新考核趋势。【高效提分利器】核心资料全覆…...

灵活创建Windows安装介质:MediaCreationTool.bat的实用指南

灵活创建Windows安装介质:MediaCreationTool.bat的实用指南 【免费下载链接】MediaCreationTool.bat Universal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2! 项目地址: https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat …...

别再死记硬背了!用‘减法’和‘host/any’关键字,5分钟搞定思科ACL通配符掩码配置

思科ACL通配符掩码:5分钟掌握减法计算与host/any实战技巧 刚接触思科ACL配置时,通配符掩码总是让人头疼。那些0和1的组合看似简单,实际配置时却容易出错。但你可能不知道,掌握两个核心技巧就能彻底解决这个问题——用255.255.255.…...

从0到1落地智能仓储:C#上位机+Modbus RTU实现AGV集群调度与货物自动分拣

本文是纯实战、可直接落地的智能仓储完整方案,基于C# .NET 6 + Modbus RTU/Modbus TCP + AGV调度 + 自动分拣,从零搭建一套轻量级、低成本、高可靠的智能仓储系统,适用于电商仓库、工厂原料仓、成品仓、立体库。 无废话、无虚架构,代码可直接复制运行,适合新手从0到1上手智…...

Windows平台Datax部署与初体验:从零到一的数据同步实战

1. Windows平台Datax部署全攻略 第一次在Windows上折腾Datax的经历我还记得很清楚,当时为了同步几个简单的数据表,硬是折腾了大半天。现在回头看,其实只要掌握几个关键步骤,半小时就能搞定。Datax作为阿里开源的数据同步工具&…...

旺季仓容紧张跨境卖家如何提前规划备货与入仓

决胜销售旺季:跨境卖家的备货与入仓战略指南随着全球电商购物节日益临近,无论是年末的“黑色星期五”、圣诞季,还是区域性的大促活动,一个共同的挑战悄然浮现:仓库容量告急。对于跨境卖家而言,旺季不仅是销…...

解决Ubuntu中libc6-dev:i386依赖问题的完整指南

1. 理解libc6-dev:i386依赖问题的本质 当你正在愉快地使用Ubuntu系统,突然在执行sudo apt-get upgrade时遇到一堆红色错误提示,特别是看到"libc6-dev:i386 : 依赖: libc6:i386 ( 2.31-0ubuntu9.14) 但无法安装它"这样的报错,是不是…...

Load-Use冒险避坑指南:为什么你的RISC流水线转发电路会失效?

Load-Use冒险避坑指南:为什么你的RISC流水线转发电路会失效? 在处理器设计的迷宫中,Load-Use冒险就像是一个精心设计的陷阱,等待着那些过分依赖转发电路的工程师。这种特殊的RAW(Read After Write)冒险场景…...

深入解析DW_apb_i2c与TMP75的寄存器交互:从配置到温度读取

1. 认识TMP75温度传感器与DW_apb_i2c控制器 TMP75是德州仪器(TI)推出的一款高精度数字温度传感器,采用I2C接口通信,内置12位ADC,分辨率可达0.0625C。我在多个嵌入式项目中都用过它,实测稳定性相当不错。它的…...

从内置函数到自定义算法:用 AMDP 驱动的 CDS Scalar Function 打开 ABAP CDS 的新扩展面

在很多 ABAP CDS 项目里,开发者都会遇到一个很现实的问题:系统预置函数够用,但不总是刚好够用。简单的数值换算、字符串处理、日期推导,内置能力通常已经覆盖;可一旦业务进入更复杂的区间,例如分摊比例计算、复合折扣推导、动态计费规则、评分算法封装,单纯依赖 CDS 表达…...

AI能力已经成为2026年的分水岭:2026年企业如何选对人力资源管理平台

HR SaaS系统是基于云端部署的人力资源管理软件,帮助企业实现招聘、人事、绩效、薪酬等HR业务的数字化管理。2026年的HR SaaS已经从传统的流程工具进化为AI驱动的智能管理平台,能够自动处理简历筛选、智能推荐人才、生成绩效面谈纪要等复杂任务&#xff0…...

HoRain云--Julia运算符全解析

🎬 HoRain云小助手:个人主页 🔥 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!…...

为什么传统绩效考核正在被OKR取代?2026年企业目标管理的智能化选择

OKR绩效管理系统是帮助企业实施目标与关键成果法(Objectives and Key Results)的数字化工具,通过可视化目标设定、进度追踪和结果评估,让团队目标对齐更清晰、执行更高效。2026年的主流系统已集成AI能力,能自动生成目标…...