每日HackerNews RSS

## Go 的垃圾回收器:总结 Go 的垃圾回收器 (GC) 能够高效地管理内存,而不会使程序长时间停止。它是一种**非移动、并发、三色、标记-清除**回收器——这意味着对象保持在原地,它与你的代码并行运行,使用颜色编码来跟踪对象,并识别/回收未使用的内存。 GC 在四个阶段运行:**清除终止、标记、标记终止与清除准备、以及清除**。**标记阶段**从“根”(goroutine 栈、全局变量)开始追踪可达对象,利用工作队列和一种新颖的**基于 span 的扫描**方法(Go 1.26 引入)以提高效率。**写屏障**在标记期间拦截指针更新,以确保不会遗漏任何存活对象。**清除阶段**延迟地、按需地回收未标记的对象,在分配期间进行。 GC 周期由 **GC 调速器**(基于堆增长和 `GOGC` 设置)、**系统监视器**(用于空闲程序)或通过 `runtime.GC()` 手动触发。 像 **内联标记位** 和 **基于 span 的扫描**(GreenTea GC)这样的关键创新通过增强缓存局部性和启用 SIMD 优化来提高性能。**标记协助** 通过招募应用程序 goroutine 来帮助 GC 在高分配速率期间保持同步。 这使得 Go 能够提供自动内存管理,并最大限度地减少对正在运行的应用程序的干扰。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 理解 Go 运行时:垃圾回收器 (internals-for-interns.com) 5 分,melodyogonna 发表于 2 小时前 | 隐藏 | 过去 | 收藏 | 1 条评论 帮助 registereduser1 发表于 7 分钟前 [–] 文章看起来是 AI 生成的。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

安迪·诺特正致力于保护英国本土蘑菇的遗传多样性,效仿植物的种子库工作。他意识到真菌保护方面存在不足,正在努力克隆和保存野生品种。 这个过程向志愿者展示,包括小心地从蘑菇(在这种情况下,是灰色的牡蛎菇)上提取一个无菌组织样本,并将其放置在琼脂平板上。如果保持清洁和温暖,样本将生长成一个新的、基因相同的培养物。 这种克隆技术是保护本土真菌遗传资源的一小步,但至关重要,确保这些重要生物不会因环境变化或栖息地丧失而消失。诺特希望提高认识,并为真菌争取与植物和动物同等的保护关注。

## 不可阻挡的蘑菇正在北美蔓延 一种快速蔓延的蘑菇,*Pleurotus citrinopileatus*(金蚝菇),正在北美森林中扎根,引发担忧并在Hacker News上引发讨论。它最初是为食用而种植的——被描述为美味,并且已经在仓库中大量种植——现在却“在野外”出现,可能由于逃逸的种植导致。 虽然尚未在所有地区广泛传播(例如瑞士),但报告表明它在一些地区正在变得“本土化”,甚至早在15年前就已经出现。一些评论者质疑为什么不种植本土蘑菇品种。 这场讨论也幽默地将这种现象与虚构的真菌爆发描述联系起来,例如在《最后生还者》和《星际穿越》中。 还有人指出像苦藤一样类似的“不可阻挡”的入侵物种,并建议引入山羊进行控制——但即使这样做也可能产生意想不到的后果!

本文提出了经典伯恩斯坦不等式的局部版本——关于多项式和函数导数的估计,最初的动机源于埃尔德什提出的关于拉格朗日插值的问题。作者修改了伯恩斯坦的原始论证,发展了这些“局部”不等式,适用于在狭窄矩形内解析的函数。 这些局部结果随后被应用于分析实根单项多项式,这类多项式虽然全局无界,但表现出局部的指数型行为。这项分析最终解决了埃尔德什提出的两个长期存在的问题:确定拉格朗日插值中勒贝格常数的精确下界,分别在标准区间和更一般的情况下,并解决一个相关的积分界问题。 这项研究显著受益于人工智能的辅助。ChatGPT提供了关于内万林纳两常数定理的见解,而AlphaEvolve则帮助验证了猜想。最终,人工智能建议的方法与传统的数学技术(轮廓积分、留数定理)相结合,对于获得最终结果至关重要。这项工作展示了现代人工智能工具如何补充和加速数学研究。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 局部伯恩斯坦理论和勒贝格常数的下界 (terrytao.wordpress.com) 6点 由 jjgreen 1小时前 | 隐藏 | 过去 | 收藏 | 讨论 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## 工程质量保证的未来 许多工程领导质疑专门的质量保证 (QA) 团队的必要性,提倡“工程负责质量”,以避免因交接和 perceived 的激励不足造成的延误。然而,完全取消 QA 会忽略其价值——熟练的测试是一项独特的专业知识,自动化测试至关重要,并且某些情况*需要*专门的质量监督。 共识倾向于将质量责任*融入*工程团队内部,强调“左移”方法,即 QA 专家充当顾问,改进流程而不是充当把关人。一个关键原则是“测试金字塔”:优先考虑工程师创建的大量快速单元测试,以及较少且较慢的 UI 测试。 新兴的一种潜在演变是“自动化验证工程师”(AVE) 的角色。这侧重于利用人工智能来大幅改进自动化测试,提供更快的反馈并提高整体开发速度。AVE 将专注于测试人工智能生成的代码,识别“幻觉”和错误。 最终,理想的方法取决于组织。虽然从没有 QA 开始通常是最好的,但现有的团队应专注于自动化,将 QA 嵌入到工程工作流程中,并可能重新定义角色,以拥抱自动化验证,并成为战略资产,而不是瓶颈。

## QA 是否应该存在?一则黑客新闻讨论总结 最近一则黑客新闻讨论了专门的质量保证(QA)团队是否仍然必要。 尽管有人认为应该增加自动化,但共识强烈倾向于支持QA。 许多评论员强调,熟练的QA专业人员拥有独特的技能——以用户为中心的视角、一丝不苟的系统测试能力,以及发现功能之间复杂且意想不到的交互的能力。 一位用户强调,QA的价值在于在缺陷到达开发人员*之前*验证和记录缺陷,从而节省大量时间。 虽然有些人提倡优先考虑UI/API测试而非单元测试(建议采用“测试沙漏”模型而非“金字塔”模型),但大多数人认为人工测试仍然至关重要,尤其是在探索性测试和难以经济地自动化的复杂场景中。 核心论点是,质量需要专门的关注,使其成为一个专门的角色,而不是开发人员的次要任务。 讨论反映了一种信念,即虽然开发实践可以涵盖QA的大部分工作,但专门的团队对于发现剩余的关键问题至关重要。

## 负担得起的技术的终结:一场迫在眉睫的硬件危机 数十年间,消费者一直享受着越来越便宜、越来越强大的技术产品。这个时代正在结束。硬件行业正在发生结构性转变,将大规模数据中心——受“人工智能”需求推动——置于个人消费者之上,导致价格上涨、选择减少以及潜在的长期短缺。 制造商越来越专注于与谷歌和亚马逊等超级规模公司签订有利可图的合同,实际上扼杀了消费者市场。西部数据和美光等主要厂商正在减少或退出面向消费者的生产,导致竞争有限,并推高了RAM和SSD等组件的成本。这不是暂时的短缺;预测表明这些问题将持续到未来很长一段时间。 结果?预计设备价格会上涨,配置会减少,可修复性和可升级性会下降。拥有硬件可能成为一种奢侈品,可能导致未来通过订阅和云服务租用计算能力——失去数字独立性。 虽然中国制造商可能成为未来的供应来源,但地缘政治因素使情况复杂化。建议很明确:维护现有的硬件,如果可能的话,有策略地升级,并认识到轻松负担得起的技术升级的日子可能已经结束。

一场 Hacker News 的讨论围绕着在日益依赖云和人工智能的世界中,保留对物理硬件所有权的想法展开,起因是一篇文章质疑人工智能基础设施的可持续性。 一个关键的担忧是人工智能公司是否能够继续获得资金,这可能会影响对计算能力的使用。有人认为,即使大规模人工智能转向云端,像智能手机这样强大的个人设备仍然可以提供计算能力。另一些人指出,如果基本软件依赖云服务,拥有硬件并不能保证自由。 评论者们争论当前的 demand 是否是一个泡沫,认为供应商们不愿扩大生产,因为他们预计会出现崩溃。对于*关于*人工智能的文章由人工智能*撰写*也存在怀疑。最终,这场对话凸显了对未来技术依赖的焦虑,以及独立硬件所有权的潜在价值。

## QRV-OS:一个与QNX兼容的RISC-V微内核 经过始于90年代末的早期操作系统实验(“RadiOS”)的数十年努力,一位开发者取得了一项重要里程碑:在QEMU上启动了一个可用的shell提示符,使用的是移植到RISC-V的、与QNX兼容的微内核QRV-OS。这项成果,详情请见[GitHub](https://github.com/r-tty/qrv),经历了2020年取得初步进展后的五年暂停,随后是为期三周的集中冲刺。 QRV-OS利用了QNX的架构——消息传递、用户空间资源管理器——但它是对32位代码库的全新重写,以适应64位RISC-V。它成功地生成并运行了动态链接的用户空间程序,使用了完整的QNX IPC堆栈。 该项目基于2008-2009年发布的QNX 6.4公共源代码,并受益于像Claude这样的人工智能工具提供的调试和代码审查方面的帮助。目前该项目由个人开发,但开发者希望围绕该项目建立一个社区,倡导更宽松的许可协议(Apache 2.0),以鼓励更广泛的协作,并推动QNX架构超越其当前的商业重点进行开发。未来的工作包括SMP稳定化、设备驱动程序支持和错误修复。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 QRV 操作系统:基于 RISC-V 的 QNX (r-tty.blogspot.com) 8 分,chrsw 发表于 2 小时前 | 隐藏 | 过去 | 收藏 | 1 条评论 帮助 ymz5 发表于 16 分钟前 [–] 感谢 chrsw!我鼓励大家参与请愿,将旧的 QNX 源代码以 Apache 2.0 许可重新授权。如果黑莓这样做,我们将拥有另一个良好且免费的基于微内核的操作系统。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## 家庭太阳能:应对欧洲能源危机的日益增长的解决方案 欧洲的能源安全正受到近期伊朗战争和对化石燃料进口的依赖威胁。然而,越来越多的房主正在转向太阳能——包括传统的屋顶面板和新的“即插即用”选项——以获得能源独立。 像国际能源署(IEA)的法提赫·比罗尔这样的专家强调了这场危机的影响,但家庭自发太阳能,尤其是在与电池存储结合使用时,可以显著减少对昂贵电网电力的依赖。 动态电价,即价格波动,通过允许消费者在高峰时段利用储存的能量,进一步激励了太阳能的使用。 西班牙展示了可再生能源投资的好处,自2019年以来,化石燃料对电价的影响降低了75%。虽然阳光有利,但进步意味着即使在阳光较少的国家,太阳能也是可行的。 即插式太阳能,在德国很受欢迎,现在在英国也被允许使用(那里的电价很高),为租房者和那些没有屋顶通道的人提供了一种经济高效的解决方案,可以在2-6年内收回成本。 然而,专家强调在安装前进行电气安全检查的重要性。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 工作 | 提交 登录 突然能源独立感觉可行:欧洲人正在建设小型太阳能发电场 (euronews.com) 7 分,vrganj 发表于 39 分钟前 | 隐藏 | 过去的 | 收藏 | 1 条评论 帮助 derelicta 发表于 3 分钟前 | 上一个 [–] 遗憾的是,我所在地区的本地公司有长达一年的积压订单。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

由于人工智能侵权行为导致大量内存消耗,消费者设备可用内存正在减少,迫切需要重新关注内存效率。这引发了对价值和优化潜力的质疑。 一个Python和一个原生C++单词计数脚本的比较说明了这一点。简洁的Python版本使用1.3MB内存。C++版本利用字符串视图避免不必要的字符串对象创建,实现相同功能仅需约100kB – 减少了92.3%。 进一步优化,通过禁用C++构建中的异常处理,可以将内存使用量降低到仅21kB,减少了98.4%。虽然Python提供了便利和丰富的运行时环境,但此示例表明,对于特定任务,原生代码可以显著减小内存占用,这在内存受限的世界中至关重要。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 过去的东西终将重现:内存优化 (nibblestew.blogspot.com) 9 分,ibobev 发表于 2 小时前 | 隐藏 | 过去 | 收藏 | 讨论 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## 南斯拉夫失落的域名:数字考古 在关于互联网历史和消失域名的讨论之后,作者踏上了一段旅程,试图重建前南斯拉夫已失效的“.yu”顶级域名网站列表。.yu域名于2010年随着南斯拉夫解体而被废除,并且没有保留完整的档案。 受到Anat Ben-David和Kaloyan Kolev的研究启发,他们之前使用互联网档案的Wayback Machine识别了大约17,460个.yu网站,作者旨在扩展此列表。直接搜索所有*.yu域名被Wayback Machine阻止,但查询子域名如*.co.yu则成功了,尽管速度较慢。 突破性进展来自于发现“www.yu”,这是一个由南斯拉夫ISP维护的网站,其中包含已注册的.yu域名的全面列表。作者利用Wayback Machine的CDX API和诸如`wget`之类的工具,成功地编译了一个包含**21,864**个域名的列表,其中**13,292**个已在Wayback Machine中存档。 提供了一个可下载的.CSV文件,该文件提供了对一个不再存在的国家的数字过去的窥视。作者建议进一步探索相关资源,如memodata.net,并联系研究人员以获取可能更完整的列表。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 21,864 个南斯拉夫 .yu 域名 (jacobfilipp.com) 10 分,来自 speckx 1 小时前 | 隐藏 | 过去的 | 收藏 | 讨论 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## jsongrep:一款快速的 JSON 搜索工具 jsongrep 是一款新的、快速的命令行工具,用于搜索 JSON 文档,灵感来自 ripgrep。它接收一个查询和一个 JSON 输入,打印匹配指定路径的值。其核心创新在于其搜索引擎:与像 `jq` 和 `jmespath` 这样的工具*解释*路径表达式不同,jsongrep 将查询*编译*成确定性有限自动机 (DFA)。这允许单次扫描搜索,每个输入符号的工作量为 O(1),从而带来显著的速度提升。 查询语言支持点符号路径用于嵌套字段、通配符用于任何键或数组索引、交替以及递归下降以进行深度搜索。jsongrep 利用一个五阶段流水线:解析(使用零拷贝 `serde_json_borrow`)、查询解析为抽象语法树 (AST)、通过 Glushkov 算法构建 NFA、DFA 确定化,最后,由 DFA 引导的 JSON 树的深度优先搜索。 与其他工具(如 `jq`、`jmespath` 等)的基准测试表明,jsongrep 具有速度优势,尤其是在大型数据集上。虽然 jsongrep 优先考虑搜索速度而非完整的 JSON 转换功能(缺乏过滤器或算术运算),但其基于 DFA 的引擎和零拷贝解析使其成为高效 JSON 数据检索的理想选择。该项目是开源的,并提供了一个库 crate,用于将搜索引擎嵌入到其他 Rust 项目中。

一个新的CLI工具“jsongrep”被介绍为处理JSON数据的一个更快替代方案,代替`jq` (micahkepe.com)。然而,Hacker News的讨论显示出对这种工具需求的怀疑,一位评论员质疑`jq`是否真的足够慢,需要被取代。 尽管最初存在疑虑,一些测试了`jsongrep`的用户印象深刻,注意到语法略有不同,但整体性能良好。 讨论还强调了在各种浏览器(iOS上的Safari、Brave,以及最初在浅色模式下)中网站显示问题,用户报告了白色文字在浅色背景上。一位用户指出对用于展示性能的图表存在担忧,指出比例尺不一致且缺乏比较数据。

更多

联系我们 contact @ memedata.com