【Rust日报】《LLVM 糟糕的一面》|《cargo-semver-checks 呈现指数级增长》

《LLVM 糟糕的一面》

作者:Nikita Popov(LLVM 核心维护者、Rust 编译器团队负责人)

文章深度分析了 LLVM 当前存在的弊端。他强调,这份清单并非劝退指南,而是为 LLVM 指明未来的改进方向

宏观层面的问题:

  • 审查能力不足(Review Capacity):LLVM 不缺代码贡献者,但极度缺乏合格的代码审查者。这导致大量 PR 长期搁置,或者被非专业人士“盖章”通过,影响了代码质量和贡献者体验。

  • 频繁的改动(Churn):LLVM 的 C++ API 和 IR(中间表示)并不稳定。这种快速迭代虽然能修正过去的错误,但给下游用户(如 Rust、Clang)带来了巨大的维护成本。

技术设计上的缺陷:

  • Context 与 Module 的割裂

    • LLVM 将全局数据存储在Context中,将编译单元存储在Module中。

    • 痛点:类型(Types)和常量(Constants)存在于Context中,但关于类型布局的关键信息(如“指针有多宽”)却存储在ModuleDataLayout中。这导致在处理类型和常量时,经常无法直接获取其内存布局信息。

  • ABI 与 目标特性(Target Features)的耦合

    • 在某些架构(如 AArch64)上,开启特定的目标特性(如浮点寄存器)会改变函数的调用约定(ABI)。

    • 风险:如果一个开启了某特性的函数调用了另一个关闭该特性的函数,可能会导致 ABI 不匹配,进而引发崩溃。作者认为 ABI 应该是模块级的,而特性应该是函数级的,两者目前耦合过于紧密。

  • 常量表达式(Constant Expressions)的残余

    • 虽然 LLVM 已经在逐步移除复杂的常量表达式(转而使用普通指令),但仍有一些顽固的残余(如icmpfcmp等)。这些表达式增加了编译器的复杂性,且难以维护。

已取得的进展:作者提到,他几年前提出的三大痛点已接近解决:

  • 不透明指针(Opaque Pointers):已完全完成,消除了不同类型指针在 IR 层面的区分。

  • 常量表达式移除:已完成大部分。

  • ptradd 迁移:正在进行中,旨在统一指针算术运算。

结论与展望: Nikita Popov 认为 LLVM 正处于一个“还债”期。虽然它作为工业界事实上的标准非常强大,但其历史包袱和设计缺陷依然明显。他呼吁更多的企业和资深开发者投入到代码审查基础架构清理中,而不仅仅是贡献新功能。

阅读:https://www.npopov.com/2026/01/11/LLVM-The-bad-parts.html

《cargo-semver-checks 呈现指数级增长》

作者: Predrag Gruevski

这篇文章总结了 Rust 生态中的语义化版本(SemVer)检查工具cargo-semver-checks在 2025 年的进展,指出该项目正处于爆发式增长阶段,旨在实现“无畏的 cargo 更新“。

指数级增长的数据:

  • Lint 规则数量翻倍:Lint 规则(检查项)从 2022 年底的 30 个、2023 年的 57 个、2024 年的 120 个,增长到了 2025 年底的242 个,连续多年保持翻倍增长。

  • 发布与贡献:全年发布了 7 个主要版本(v0.39 至 v0.45),包含来自 18 位作者的 734 次提交。

关键技术突破与改进:

  • 性能大幅提升:Lint 的总执行时间减少了4 倍,部分特定规则的运行速度提升了 10 倍。

  • Rustdoc JSON 兼容性:工具在 2025 年平滑支持了26 个不同版本的 rustdoc JSON 格式(从 v32 到 v57)。这意味着用户无需关心底层格式变化,工具能自动适应不同版本的 Rust 编译器。

  • Sealed Traits 检测:v0.40 版本大幅升级了对密封 Trait 的识别系统,提高了检查准确性并支持处理循环 Trait 关系。

项目愿景:无畏更新。 作者重申了项目的终极目标:消除cargo update时的“俄罗斯轮盘赌”现象。目前,即便是最流行的前 1000 个 crate 中,也有超过 1/6 的项目曾意外发布过破坏性变更。cargo-semver-checks的存在就是为了在发布前拦截这些问题。

2026 年展望与挑战:

  • 可持续性问题:作者直言目前开源项目的资金支持(如 GitHub Sponsors 和企业赞助)仍显不足。如果没有重大的企业资助,2026 年可能无法维持这种翻倍增加 Lint 的强度。

  • 策略转变:2026 年的工作重点可能会从单纯增加规则转向提升稳定性、减少误报以及进一步集成到 Cargo 官方生态中。

2025 年是cargo-semver-checks走向成熟的关键一年,它通过更强大的自动化检查和更快的运行速度,进一步保障了 Rust 生态的稳定性。作者呼吁更多依赖该工具的企业参与资助,以维持这一核心基础设施的健康发展。

阅读:https://predr.ag/blog/cargo-semver-checks-2025-year-in-review/

stdout-tv:在终端播放 YouTube 视频


作者不仅完成了一个有趣的 Demo(在终端看 YouTube),还将其中的核心图像处理逻辑封装成了高质量、可复用的工具库pixel2ascii

核心功能:该工具可以抓取 YouTube 视频流,并将其每一帧实时转换为 ASCII 字符(文字画),在终端内直接播放。

开发动机:这是作者的第一个 Rust 学习项目,旨在通过实践掌握 Rust 的所有权(Ownership)、性能优化和终端 I/O 处理。

技术实现:它依赖于作者独立拆分出来的核心库pixel2ascii来进行图像到文字的转换,并加入了基础的帧率(FPS)控制机制。

pixel2ascii是上述视频播放器的“心脏”,是一个专门负责将像素图像转换为 ASCII 字符的 Rust 库(Crate)和命令行工具。核心功能:

  • 图像转 ASCII:支持将 PNG, JPEG, GIF, BMP 等多种格式转换为文字画。

  • **真彩色支持 (ANSI Truecolor)**:对于支持 24 位色的现代终端,可以生成带有颜色的 ASCII 图,视觉效果非常丰富。

  • 多种字符集方案:提供内置的default(标准)、dense(密集型)和blocks(由 Unicode 方块组成,效果最接近像素图)三种方案,也支持自定义字符。

  • 自适应调整:支持长宽比修正(解决终端字符非正方形的问题)和亮度反转(适配浅色或深色终端背景)。

  • 高性能:得益于 Rust 的特性,它能快速处理图像块的平均色彩和亮度采样。

仓库:https://github.com/SameerVers3/stdout-tv

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

  • 微信公众号:Rust语言中文社区

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1173422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深耕男士护肤11年,左颜右色:科研驱动的国货功效护肤领军者 - 速递信息

随着男士护肤需求的日益觉醒,毛孔粗大、痘痘顽固、水油失衡等肌肤痛点愈发凸显,然而市场上真正贴合男性肤质特点与使用习惯的专业方案却相对匮乏,“精准有效、省心便捷”成为当代男士的护肤核心追求。 2015年,左颜…

图灵新知2026年书讯 | 万众期待,又是新书爆发的一年!

已经过去的2025年,图灵出版了众多“”叫好又叫座“”的好书。“脱更”神作如《斯图尔特微积分(上)》《斯特朗线性代数》;经典系列续作如《数学与生活5》《不焦虑的立体几何》,自然也少不了宋浩老师的《概率论与数理统计…

2026年1月权威榜单:GEO优化公司综合实力Top5,谁是真正的领导者? - 速递信息

在GEO行业快速发展的背景下,服务商的综合实力直接影响企业优化成效。本文以技术实力、服务体系、实战案例、客户口碑为评估框架,筛选出2026年1月综合表现最强的五家GEO服务商,并对其核心竞争力、适用场景及选型建议…

为什么 Go 社区强调避免不必要的抽象?—— 借用海德格尔哲学寻找“正确”的答案

大家好,我是Tony Bai。“Go 的哲学强调避免不必要的抽象。”这句话我们听过无数次。当你试图引入 ORM、泛型 Map/Reduce 、接口或者复杂的设计模式时,往往会收到这样的反馈。这句话本身没有错,但难点在于:到底什么是“不必要”的&…

2026自动化展会导航:口碑好,一网打尽!智能/压力机/液压气动/环保/机床/激光技术设备/机械,自动化展览怎么选择 - 品牌推荐师

随着工业4.0与智能制造的加速推进,自动化展会已成为连接技术供应商、制造企业与行业专家的核心平台。2026年,全球自动化领域将迎来新一轮技术迭代与市场整合,展会不仅是企业展示创新成果的窗口,更是采购方精准对接…

自动操作浏览器,又一款 Chrome 神器,开源了!

大家最近在折腾 AI Agent 时,有没有遇到过这种尴尬的情况:让 AI 去某个网站查资料、抓数据,它在后台吭哧吭哧跑了半天,最后告诉你:“对不起,报错了”。大多时候,你会发现这些问题,主…

2026年新加坡留学中介哪家好:五家优选全面对比 - 速递信息

——文章最新发布时间:2026年1月 一、推荐背景与评价体系 在新加坡留学申请市场日益繁荣且服务质量参差不齐的背景下,选择一家好的新加坡留学中介已成为成功实现新加坡教育梦想的关键因素。新加坡留学中介的"好&q…

2026 年前端必会的 10 个现代 CSS 布局技巧

说句大实话。 到了 2026,前端的价值早就不止“看起来好看”。 你要管性能、管可维护性、管架构干不干净、管设计系统能不能扩展——还得顺手把 JavaScript 用量压下来,交付更好的体验。 如果你还在用几年前那套方式搭布局,你已经落后了。不是…

十条经过实战检验的 TypeScript monorepo 约定

点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群十条经过实战检验的 TypeScript monorepo 约定 —— 覆盖命名、TS 配置、project references、构建、发布、测试与边界控制 —— 让代码库能够在时间中稳定扩展。Monorepo 在最初总是让人感…

2026年出国留学服务哪个更专业:五家优选全面对比 - 速递信息

——文章最新发布时间:2026年1月 一、推荐背景与评价体系 在全球留学申请竞争日益激烈且各国录取标准持续提升的背景下,选择一家专业可靠的出国留学机构已成为成功实现海外名校梦想的关键因素。全球留学不同于单一地区…

苹果终于眨眼了:打电话给谷歌救 Siri(对,真的是谷歌)

在苹果总部的某个角落,Siri 可能又一次礼貌地回了句:“我不太明白你的意思。”然后 Tim Cook 的脸——据说当场红到像煮熟的龙虾。接着,全世界最有钱的科技公司,干了一件很“反苹果”的事:给谷歌打电话求救。是的&…

分析各类原料分子包裹技术产品和服务厂家,全国排名如何? - 工业品牌热点

问题1:市场上各类原料分子包裹技术产品生产商那么多,怎么判断哪家价格合理? 对于有原料分子包裹技术需求的企业来说,价格合理从来不是单纯看报价数字,而是要结合成本结构交付质量和长期价值综合评估。很多企业容易…

Anthropic万字长文:一篇AI Agent评估体系的详细解析!

Datawhale干货 作者:Anthropic团队,来源:PaperAgentAnthropic发布了一篇blog《揭秘AI Agents评估》,细节满满!原文略微有点长,整理了一张脑图,要点精髓:良好的评估(evalu…

COSCon‘25 第十届中国开源年会登上中国日报,并获评思否「最受开发者欢迎的技术活动」

由开源社主办的 COSCon25 第十届中国开源年会于 2025 年 12 月在北京圆满落幕。开源驱动的下一代 AI 技术与生态、AI 时代的数据挑战、开源芯片的生态发展与未来趋势、新时代下的全球协作、被 AI 颠覆的 Coding、极速狂飙的具身智能开源浪潮…… 这些在开年 DeepSeek 时刻之后&…

2026年新加坡中学留学机构推荐:五家优选全面对比 - 速递信息

——文章最新发布时间:2026年1月 一、推荐背景与评价体系 在新加坡中学留学申请竞争日益激烈且录取标准持续提升的背景下,选择一家专业可靠的新加坡中学留学机构已成为成功实现新加坡优质教育梦想的关键因素。新加坡中…

2025年就业导向新西兰留学机构推荐:五家优选全面评测 - 速递信息

——文章最新发布时间:2026年1月 阅读摘要 文档类型:榜单评测与选型 评测维度:规划能力申请经验团队实力服务透明度增值服务Top Pick: 新东方前途出国 其它上榜: 新东方广州、启德教育、金吉列留学、新通教育 关键…

“买几送几“解题模板探讨

点击标题下「蓝色微信名」可快速关注现在小学生的数学题和我们小时候感觉不是一个层级的,例如"买几送几"应用题,还真得需要一些理解,可以通过如下的解题思路模板体会下,还是要对孩子多些宽容。第一步:找&quo…

MySQL自增id超过int最大值的场景

点击标题下「蓝色微信名」可快速关注 数据库的主键我们有时候会用自增列,但是自增都会有个上限,如果达到怎么办?技术社群的这篇文章《MySQL自增id超过int最大值怎么办?》就给我们讲解了MySQL数据库自增列达到上限该怎么办&#xf…

Instagram十亿级“用户名已被占用“背后的架构设计

点击标题下「蓝色微信名」可快速关注尽管国内无法访问但已经火遍全球的Ins软件,即Instagram,可能很多朋友都了解或者接触过,例如最近北京国安要引进的新外援,就是球迷们根据国安总经理马永明(Matthias Brosamer&#x…

vue3怎么实现网页端的文件夹上传?

武汉码农の大文件上传奇遇记:在长江边写信创代码 各位好,我是小王,武汉光谷某软件公司"防脱发小组"组长。最近接了个政府项目,要求在信创环境下上传4G文件,还必须开源可审查——这就像让我用热干面调料写火…