微软高级软件工程师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上运行的说明。
好文章,需要你的鼓励
微软高级软件工程师Alice Vinogradova将自己用SAP ABAP语言编写的向量数据库ZVDB移植到了搭载Z80处理器的经典计算机Sinclair ZX Spectrum上。她发现ABAP(1983年)和Z80(1976年)几乎是同时代产物,都诞生于内存珍贵、每个字节都很重要的计算时代。通过应用Z80优化技术,尽管时钟频率相差857倍,但代码运行速度仅慢3-6倍。她认为这些老式优化技术具有普遍适用性,在现代硬件上依然有效。
这项由东京科学技术大学等机构联合发布的研究提出了UMoE架构,通过重新设计注意力机制,实现了注意力层和前馈网络层的专家参数共享。该方法在多个数据集上显著优于现有的MoE方法,同时保持了较低的计算开销,为大语言模型的高效扩展提供了新思路。
韩国电子巨头三星宣布收购美国西雅图数字健康技术公司Xealth,进一步扩大在健康领域的布局。Xealth专注于帮助医疗专业人员将数字健康技术整合到日常实践中,与70多家数字健康技术供应商合作,应用覆盖美国500多家医院。此次收购将推动三星向连接医疗保健平台转型,结合其在传感器技术和可穿戴设备方面的优势,完善Samsung Health平台功能。
小米团队开发的MiMo-7B模型证明了AI领域"小而精"路线的可行性。这个仅有70亿参数的模型通过创新的预训练数据处理、三阶段训练策略和强化学习优化,在数学推理和编程任务上超越了320亿参数的大模型,甚至在某些指标上击败OpenAI o1-mini。研究团队还开发了高效的训练基础设施,将训练速度提升2.29倍。该成果已完全开源,为AI民主化发展提供了新思路。