微软高级软件工程师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上运行的说明。
好文章,需要你的鼓励
丰田第六代RAV4搭载高通骁龙数字底盘平台,提供个性化、直观且无缝连接的驾驶体验。新车基于丰田Arene软件开发平台,推进软件定义汽车发展,配备紧急驾驶停止系统和突然加速抑制功能。车载多媒体系统支持个性化主屏幕定制和更准确的语音识别。通过与高通技术公司合作,利用先进AI技术增强用户体验,提供更智能、直观和安全的出行方案。
上海AI实验室开发RePro训练方法,通过将AI推理过程类比为优化问题,教会AI避免过度思考。该方法通过评估推理步骤的进步幅度和稳定性,显著提升了模型在数学、科学和编程任务上的表现,准确率提升5-6个百分点,同时大幅减少无效推理,为高效AI系统发展提供新思路。
Chainguard发布可信开源软件季度报告,基于1800多个容器镜像项目和近5亿次构建的数据分析。报告显示:Python因AI需求成为最受欢迎的开源镜像;超半数生产环境运行在热门项目之外的长尾镜像上;98%的漏洞出现在非热门项目中,安全负担主要集中在不太显眼的技术栈部分;44%客户在生产环境中使用FIPS镜像以满足合规要求;Chainguard平均在20小时内修复关键漏洞。
MIT团队开发的VLASH技术首次解决了机器人动作断续、反应迟缓的根本问题。通过"未来状态感知"让机器人边执行边思考,实现了最高2.03倍的速度提升和17.4倍的反应延迟改善,成功展示了机器人打乒乓球等高难度任务,为机器人在动态环境中的应用开辟了新可能性。