微软高级软件工程师Alice Vinogradova将她用SAP的ABAP语言编写的数据库移植到了驱动Sinclair ZX Spectrum的经典Z80处理器上,并对结果感到惊喜。
Vinogradova将她的数据库命名为ZVDB-Z80,并将其描述为"一个完全用ABAP开发的向量数据库,旨在提供不依赖外部向量数据库的独立解决方案"。
**ABAP(1983年诞生)和Z80(1976年诞生)几乎是同时代产物**
ABAP,全称Advanced Business Application Programming,是ERP巨头SAP为其平台创建的应用程序编程语言。
代码自然发布在GitHub上,这位工程师解释说:"上个月,我在清理旧代码时重新发现了ZVDB。"
当Vinogradova重新审视ZVDB时,她"有了一个让我会心一笑的领悟"。
"ABAP(1983年诞生)和Z80(1976年诞生)几乎是同时代产物,"她写道。"它们成长于同一个计算时代——那时内存珍贵,周期需要精打细算,每个字节都很重要。"
Vinogradova欣赏开发者在这些限制条件下创建优秀软件所需的技巧。
"当我构建ZVDB时,我刻意应用了所有我知道的Z80优化技术,"她写道。"为什么?因为这些'老旧'技术是永恒的——它们恰好能让现代代码运行得极快。"
因此,她在用Z80汇编语言重写ZVDB时再次使用了这些技术,并声称在这款经典CPU上运行时,她的代码"尽管时钟速度差异达857倍,但仅慢了3-6倍"。
Vinogradova认为这并不令人意外。"这些优化技术就是为Z80而生的。它们恰好具有普遍的最优性,"她写道,然后解释了为什么她认为Z80思维"在2025年仍然获胜"。
我在ABAP中应用的每一条Z80经验在现代硬件上依然有效:
查找表总是比计算更快 - Z80:节省宝贵的周期 - 现代CPU:缓存友好的访问模式
顺序内存访问为王 - Z80:一个周期vs随机访问的四个周期 - HANA:列式存储偏爱顺序模式
位操作是通用的 - Z80:原生CPU指令 - 现代CPU:SIMD做同样的事情,但更快
预计算胜过运行时数学运算 - Z80:无法承担计算成本 - 现代系统:为什么要计算能记住的东西?
"那些使用Z80汇编的岁月不仅是怀旧——它们是训练,"她补充道。"那时每个周期都很重要,你猜怎么着?每个周期现在仍然很重要。规模变了,原则没变。"
"当我将此移植到HANA AMDP时,它会更快。因为AMDP会采用我的Z80优化算法并将其并行化。但核心洞察——查找胜过计算,顺序胜过随机——这来自1976年。"
她的GitHub页面当然包含了这里讨论的代码,以及如何在真实的Sinclair ZX Spectrum、在线模拟器JSSpeccy或Qaop/JS,或本地模拟器Fuse、ZEsarUX、Speccy或Retro Virtual Machine上运行的说明。
好文章,需要你的鼓励
OpenAI首席执行官Sam Altman表示,鉴于投资者的AI炒作和大量资本支出,我们目前正处于AI泡沫中。他承认投资者对AI过度兴奋,但仍认为AI是长期以来最重要的技术。ChatGPT目前拥有7亿周活跃用户,是全球第五大网站。由于服务器容量不足,OpenAI无法发布已开发的更好模型,计划在不久的将来投资万亿美元建设数据中心。
阿里巴巴团队提出FantasyTalking2,通过创新的多专家协作框架TLPO解决音频驱动人像动画中动作自然度、唇同步和视觉质量的优化冲突问题。该方法构建智能评委Talking-Critic和41万样本数据集,训练三个专业模块分别优化不同维度,再通过时间步-层级自适应融合实现协调。实验显示全面超越现有技术,用户评价提升超12%。
英伟达推出新的小型语言模型Nemotron-Nano-9B-v2,拥有90亿参数,在同类基准测试中表现最佳。该模型采用Mamba-Transformer混合架构,支持多语言处理和代码生成,可在单个A10 GPU上运行。独特的可切换推理功能允许用户通过控制令牌开启或关闭AI推理过程,并可管理推理预算以平衡准确性和延迟。模型基于合成数据集训练,采用企业友好的开源许可协议,支持商业化使用。
UC Berkeley团队提出XQUANT技术,通过存储输入激活X而非传统KV缓存来突破AI推理的内存瓶颈。该方法能将内存使用量减少至1/7.7,升级版XQUANT-CL更可实现12.5倍节省,同时几乎不影响模型性能。研究针对现代AI模型特点进行优化,为在有限硬件资源下运行更强大AI模型提供了新思路。