250万行代码,在3D空间里以每秒120帧以上的速度飞过。这不是电影特效,是一个开发者自己写出来的可视化工具。代价是:它一开始吃掉了21GB内存。
《侏罗纪公园》里那句"这是个Unix系统,我懂这个",大概刻进了不少技术人的脑子。电影里那套可视化软件不是道具,是真实存在的Silicon Graphics File System Navigator,跑在真实的SG工作站上。把文件放进3D空间里看,这个概念后来没真正流行起来。但今天机器的算力,可能让这件事重新变得可行。
![]()
先看它到底跑成什么样
Makepad的创造者Rik Arends做了自己的3D可飞行源代码可视化工具。他声称这个工具能轻松处理250万行代码,帧率在120 FPS以上。
公开的视频因为X平台的限制只有60 FPS,但导航看起来确实流畅。更关键的是,屏幕上那些源代码是能看清的,不是糊成一片的光点。这一点比帧率数字更有说服力。
内存是另一个故事。Arends说这个可视化一开始占用了21GB内存。他没有停留在"能跑就行",而是加了索引和流式压缩,把内存占用压到了3.5GB。从21GB到3.5GB,这是同一套东西的两次亮相。
他还提到,自己并没有完全优化完这个可视化工具。但他试过一次:加载Chromium的整个源码树,5100万行,只用了60秒。
好看,然后呢
3D可视化代码,看起来确实很好玩。但它的实际用途,至少以现在的形态,是存疑的。
有评论者提出,加入时间维度会有很大帮助——把源文件的变更显示出来。对依赖关系做3D追踪,大概也会很实用。
市面上已经有一个成熟的商业工具叫CodeCharta,它能在3D里可视化代码的变更和热点。只不过它的飞行浏览没有这么惊艳。
Arends说,他打算把这个可视化工具做成产品,收一点小费用。但他也承认,这个可视化的实用性可能是有限的。
被问到为什么要做这个,他的回答很简单:"因为我能做。"
至于他该不该做,还没有定论。
这件事值得记下的三个点
- 250万行代码、120+ FPS,说明当代机器的算力已经能撑起"把代码当空间来逛"这件事,而不再是概念演示。
- 21GB到3.5GB的落差,来自索引和流式压缩。同一个工具,优化前后是两个量级。
- 5100万行的Chromium源码树,60秒加载完。这个数字比任何形容词都更能说明它的上限在哪。
把代码放进3D空间,这个想法本身不新。新的是它现在跑得动了。至于跑得动之后能拿来干什么,做的人自己都还没想清楚。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.