2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

“这是我迄今见过的最大提速”:FFmpeg 开发者因手写汇编再提速 100 倍而自豪

  • 2025-08-20
    北京
  • 本文字数:1210 字

    阅读完需:约 4 分钟

“这是我迄今见过的最大提速”:FFmpeg 开发者因手写汇编再提速 100 倍而自豪

FFmpeg 项目背后的开发者们再次声称,通过运用手写汇编代码的艺术,性能得到了重大提升。在应用了 最新 的补丁后,用户应该能在跨平台开源媒体转码应用程序中看到“100 倍的速度提升”。



“这是迄今为止我见过的最大提速”


去年 11 月,我们报道了 FFmpeg 性能提升的消息,该提升可以使某些操作速度提高多达 94 倍。最新的手写汇编补丁将应用程序的“rangedetect8_avx512”性能提高了 100 倍。如果你的现代处理器不支持 AVX512,那么使用 rangedetect8_avx2 代码路径仍然可以看到 64% 的提升。


你将在哪里感受到这些速度提升?在一些后续的推文中,FFmpeg 开发者承认“这是一个单一的功能,现在快了 100 倍,而不是整个 FFmpeg。”他们后来进一步解释说,根据你的系统,可能享受到 100% 速度提升的功能是“一个不常用的过滤器”。


这个功能的不常用意味着它直到现在才被开发者优先考虑。但我们也知道,过滤器代码是使用 SIMD(单指令,多数据)处理概念进行重新编码的,以极大地改善当今强大芯片上的并行处理。


显然,编译器——将高级语言代码转换成汇编(机器)代码的程序——仍然无法与手写汇编程序竞争。或者你可以说,“编译器的寄存器分配器很糟糕”,正如 FFmpeg 今天在推特上所说的那样。



(图片来源:FFmpeg)


汇编语言的福音传道者


回顾 20 世纪 80 年代和 90 年代家庭计算的黄金时代,当时固定规格系统的生命周期为 5 年——并且严格限制了处理资源——手写汇编代码优化在加速计算机、游戏和其他软件的业务中扮演了更重要的角色。


FFmpeg 或许是为数不多的“汇编福音传道者”之一。开发团队甚至还经营着一 所“学校”。


FFmpeg 工具和库可以在 Linux、Mac OS X、Microsoft  Windows、BSDs、Solaris 等系统上运行。最受欢迎的视频播放器软件之一,VLC,使用了 FFmpeg 项目中的 libavcodec 和 libavformat 库。


原文链接:


https://www.tomshardware.com/software/the-biggest-speedup-ive-seen-so-far-ffmpeg-devs-boast-of-another-100x-leap-thanks-to-handwritten-assembly-code


声明:本文为 InfoQ 翻译整理,不代表平台观点,未经许可禁止转载。


今日好文推荐


180 天狠赚 5.7 亿,8 人团队全员财富自由,最大功臣是 Claude 和 Gemini


颠覆 Cursor,AI 编程不再需要 IDE!用并行智能体重构开发范式,MongoDB CEO 高调站台


弃 Python 拥抱 JVM,Spring 之父 20 年后再造“革命性框架”:我从未如此确信一个新项目的必要性


从 3 个月业余项目到全球第一语言!Python 之父坦言:当年“将就”的代码,如今全都真香了


会议推荐


首届 AICon 全球人工智能开发与应用大会(深圳站)将于 8 月 22-23 日正式举行!本次大会以 “探索 AI 应用边界” 为主题,聚焦 Agent、多模态、AI 产品设计等热门方向,围绕企业如何通过大模型降低成本、提升经营效率的实际应用案例,邀请来自头部企业、大厂以及明星创业公司的专家,带来一线的大模型实践经验和前沿洞察。一起探索 AI 应用的更多可能,发掘 AI 驱动业务增长的新路径!



2025-08-20 17:2212166

评论 1 条评论

发布
用户头像
100倍和100%是不同的数量级吧,100%只是一倍而已。
2025-08-22 09:18 · 北京
回复
没有更多了

在线XML转TSV工具

入门小站

工具

开源一夏 | 实战Node.js之GET/POST请求在Web 应用架构在客户端的使用

恒山其若陋兮

开源 8月月更

开源一夏|三步注册gitee

坚果

开源 8月月更

详解CAN总线:什么是CAN总线?

不脱发的程序猿

嵌入式 汽车电子 CAN总线协议

6.18秒杀系统架构设计

joak

在线诺基亚短信图片生成器工具

入门小站

工具

加密市场由阴转晴,Zebec或成2022后半段黑马

鳄鱼视界

IPv4向IPv6的过渡技术

穿过生命散发芬芳

ipv6 8月月更

LabVIEW LINX Toolkit控制Arduino设备(拓展篇—1)

不脱发的程序猿

嵌入式 单片机 LabVIEW Arduino LINX Toolkit

详解CAN总线:常用CAN连接器的使用方法

不脱发的程序猿

汽车电子 嵌入式开发 CAN连接器

一次minerd肉鸡木马的排查思路

京东科技开发者

安全 木马病毒

架构实战营|模块9

KDA

#架构实战营

开源一夏 | 阿里云ECS之Linux 文本操作命令

六月的雨在InfoQ

vim Linux 开源 8月月更 more

C++多态的基本概念与原理刨析

CtrlX

c c++ 面向对象 代码 8月月更

智能化运维场景分析

阿泽🧸

智能运维 8月月更

文件管理-Linux系统文件属性

Albert Edison

Linux centos 运维 文件管理 8月月更

物联网平台如何支持设备的多样化接入——设备接入类

阿里云AIoT

网络协议 存储 数据采集 JSON库 传感器

MySQL数据库之数据查询

乌龟哥哥

8月月更

知识库如何进行定期检查?

Geek_da0866

坚叔:让科幻片的概念变成产品丨编程挑战赛 x 嘉宾分享

RTE开发者社区

人工智能 编程‘

聚焦2022全球边缘计算大会·深圳站,揭秘火山引擎新一代边缘云解决方案

火山引擎边缘云

分布式 CDN 边缘计算 渲染 边缘云

头脑风暴:最长连续递增序列

HelloWorld杰少

算法 LeetCode 数据结构, 8月月更

Spring进阶(一):SpringMVC常用注解标签详解

No Silver Bullet

springmvc 注解 8月月更

开源一夏 | 阿里云ECS之Linux 文件管理命令

六月的雨在InfoQ

Linux 开源 8月月更 文件管理命令 磁盘命令

《Dubbo3.0.8源码解析》15-Dubbo的三大中心之元数据中心源码解析

宋小生

dubbo Dubbo3

架构训练营毕业总结

joak

消费大众网民的审丑心理,如何拯救扭曲化的自媒体行业

石头IT视角

开源无界 携手共创|观测云参加 SUSECON 2022 北京开源技术峰会

观测云

阿里云ECS之MySQL基础操作

六月的雨在InfoQ

MySQL ECS 8月月更

架构实战营|毕业总结

KDA

#架构实战营

开源一夏 | 阿里云ECS之Linux 系统工作命令

六月的雨在InfoQ

Linux 开源 8月月更 系统命令

“这是我迄今见过的最大提速”:FFmpeg 开发者因手写汇编再提速 100 倍而自豪_编程语言_Mark Tyson_InfoQ精选文章