每日HackerNews RSS

启用 JavaScript 和 Cookie 以继续。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 图像生成模型可以思考 (medium.com/seeds-for-the-future) 6 分,来自 hungryminded 1 天前 | 隐藏 | 过去 | 收藏 | 1 条评论 帮助 functionmouse 1 天前 [–] 我的 TI-84 也能思考 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## Python 的速度:攀登优化阶梯 Python 比 C 慢很多(通常被认为慢 100 倍)的说法并非不正确,但解决方案并非仅仅切换语言。本文分析了通过各种优化技术可以实现的性能提升,使用了包括计算密集型问题(n 体问题、谱范数)和现实的 JSON 事件管道在内的基准测试。 核心问题并非 GIL、解释器或动态类型本身,而是 Python 的 *最大动态性*——在运行时修改代码的能力——这会引入显著的开销。每个操作都需要运行时分派以确保灵活性。 优化“阶梯”包括:升级 CPython(使用 3.11 可提升 1.4 倍),替代运行时如 PyPy 和 GraalPy(6-66 倍),提前编译 (AOT) 与 Mypyc(2.4-14 倍),利用 NumPy 进行向量化操作(高达 520 倍),JAX 用于函数式数组编程(高达 1633 倍),Numba 用于即时 (JIT) 编译数值循环(56-135 倍),Cython 用于类似 C 的性能(99-124 倍),最后,用 Rust 重写(113-154 倍)。 最大的收益通常来自于完全避免 Python 对象——例如,使用 Rust 的 `serde` 或 Cython 的 `yyjson` 直接将 JSON 解析为原生数据结构。最终,最佳方法取决于特定代码以及您愿意投入的精力。性能分析是识别瓶颈和选择优化阶梯上正确台阶的关键。 您可以访问 [faster-python-bench](https://faster-python-bench/) 获取完整代码和详细结果。

## Python 优化:总结 这次 Hacker News 讨论围绕一篇关于 Python 性能优化的博文展开。核心问题并非 Python 本身固有地慢,而是其设计优先考虑动态性——例如猴子补丁和运行时修改——这阻碍了优化。 最近的进展,特别是 Python 3.15,正在整合追踪 JIT(即时编译),灵感来自 PyPy,提供显著的性能提升。这建立在早期使用复制和补丁 JIT 编译器上的工作之上。然而,挑战依然存在,包括自修改代码的复杂性和对紧凑类型信息的需求。 讨论中提到的“优化阶梯”涉及从使用 NumPy/SciPy 到用 C 重写关键性能部分等策略。文章认为,新的 JIT 方法可能会消除这个阶梯上的许多步骤。 替代方案,如 Julia 和 Rust,也被提及,它们可以提供实质性的加速,但需要大量的代码更改。 一个反复出现的主题是 AI 辅助写作对内容质量和可信度的影响,许多评论者在文章的文笔中检测到“AI 气味”,并质疑其真实性。尽管如此,技术内容受到广泛赞扬。

## XML:在现代软件中仍然相关——深入了解美国国税局预扣税估算器 美国国税局最近推出了其开源的预扣税估算器(TWE),该项目的首席工程师认为XML仍然具有令人惊讶的相关性。尽管经常被认为已过时,但XML被证明对于在TWE内部构建一个跨平台、声明式的美国税法规范至关重要。 TWE利用一个“事实字典”——税法的一种表示形式——该字典使用XML构建。这个字典与名为“事实图”的逻辑引擎一起,计算税收义务。虽然考虑过JSON等替代方案,但XML的结构和工具对于这种复杂的特定领域语言(DSL)来说更胜一筹。 XML的优势在于其声明性——它*描述*计算,而不是*如何*执行它们,从而实现可审计性和内省。其通用的解析和工具生态系统即使使用简单的shell命令也能快速开发调试工具。此外,XML的可读性(尽管冗长)允许非程序员理解逻辑,并且其既定标准有助于转换为其他格式。 最终,作者认为,虽然JSON在数据传输格式方面表现出色,但XML在构建自定义DSL时仍然是最具成本效益的选择,从而释放资源用于创新。对XML的近期重新关注,通过新的工具和库体现出来,表明其效用在短期内不会消失。

一位Claude Code Pro用户(月费200美元)对Anthropic未公开的A/B测试感到沮丧,该测试显著降低了工具的“计划模式”功能——其工作流程的核心功能。 在没有警告或选择加入的情况下,该用户被分配到一个高度限制的测试版本(“cap”),限制了计划长度并删除了上下文和散文解释等关键要素,导致体验变得不那么互动和有用。 用户通过逆向工程应用程序发现了这一点,并强调缺乏透明度是一个主要问题。 虽然承认A/B测试对于优化是必要的,但他们认为在没有用户意识或控制的情况下影响核心功能是不可接受的,特别是对于专业工具。 他们倡导人工智能工具的可配置性和透明度,强调用户需要理解和引导人工智能过程,而不是不知不觉地受到破坏性实验的影响。 这篇帖子目前在Hacker News上很受欢迎,呼吁负责任地部署人工智能,并赋予用户“掌控自己的流程”。

## Claude 代码 A/B 测试与用户担忧 一篇最近的 Hacker News 帖子详细描述了对 Anthropic 的 Claude 代码的担忧,特别是关于核心功能上的“静默”A/B 测试。作者发现该平台似乎在悄悄地改变功能——可能降低某些用户的性能——而没有通知。 讨论的中心在于这种测试的伦理问题,一些人将其与 Meta 的做法相比较。虽然 A/B 测试本身并非固有地负面,但将工具的有效性降低作为测试的一部分被认为不可接受。许多评论者强调了 LLM 普遍的不可靠性,质疑它们由于缺乏可复制的结果而是否适合专业用途。 担忧还延伸到 Anthropic 在配额限制和产品变更方面缺乏透明度,如其服务条款中所允许的修改。几位用户表达了对 AI 工具“租赁”性质的沮丧,以及潜在的不可预测行为,这与人们对专业软件的可靠性期望形成对比。这场辩论触及了负责任的 AI 开发以及在潜在被盗数据上训练所带来的伦理影响等更广泛的问题。

## 迈克尔·法拉第:信仰与科学的和谐 本文探讨了19世纪科学巨匠迈克尔·法拉第(1791-1867)的生活,以及他的基督教信仰与开创性工作之间的相互作用。法拉第以电磁感应和电解定律等发现而闻名,在多个科学领域做出了重大贡献——以至于有五种现象以他的名字命名。 尽管取得了科学成就,法拉第仍然是一位虔诚的基督徒,特别是严格的桑德曼教派的成员。他刻意将信仰和科学区分开来,很少与科学家讨论宗教,反之亦然。然而,他的信仰深刻*影响*了他的科学实践。它提供了一个强调观察和谨慎,反对仓促理论化的哲学框架,并在他追求知识的过程中灌输了强烈的道德原则。 法拉第将科学视为“阅读上帝所写的自然之书”,寻求统一的规律并认识到神圣计划的秩序。他优先考虑实验验证,并在科学界保持谦逊和协作的精神。他还相信将科学进步应用于造福人类。 最终,法拉第的生活展示了信仰与理性的成功结合,展示了深厚的宗教信仰如何激发严谨的科学探究和对道德行为的承诺。他的遗产超越了科学突破,成为智力谦逊和献身真理的典范。

由于持续的内存短缺和高昂的RAM价格,V-Color推出了一种独特的解决方案:“1+1”超值套装。这些套装包含一个真正的DDR5内存模块,并搭配一个匹配的、非功能性的“填充”模块。这使得组装者能够在不支付全部费用情况下,实现双模块设置的美观效果——这种效果因Corsair的光效增强套件而流行。 V-Color最初的产品面向AMD系统,提供16GB(Manta Sky)和24GB(Manta XFinity)配置,起始速度为DDR5-6400。虽然填充模块不会提升性能,但V-Color强调它们对游戏玩家的吸引力,特别是那些使用AMD Ryzen 3D V-Cache芯片的玩家,该芯片可以部分缓解单通道内存造成的性能损失。 尽管双通道仍然是最佳选择,但这些套装在价格上涨的时期,为DDR5构建提供了一个更易于接受的入门点。V-Color计划未来扩展产品线,推出“2+2”配置。产品将通过Newegg等精选合作伙伴发售,定价尚未公布。

AskUCP - 搜索整个 Shopify 生态系统。由通用商业协议提供支持。

## UCP 协议:互联网商店的潜在“入口” 一种新的协议,UCP(通用购物车协议),旨在为数量庞大的在线商店创建一个统一的搜索体验——本质上,为互联网提供一个“入口”。UCP 由 Google 和 Shopify 联合开发,允许用户实时跨多个商家搜索产品,可能为 Amazon 等平台提供一种去中心化的替代方案。 虽然前景可观,但对可扩展性存在担忧。同时查询每个商家会带来重大的技术挑战。一些开发者正在探索替代方案,如 MCP-UI,以避免 Google 和 Shopify 的潜在控制。 UCP 的好处不仅仅在于消费者搜索;它旨在使 AI 代理能够安全地发现和购买产品。Shopify 等平台已经开始采用,但更广泛的实施可能需要强制措施或与 WooCommerce 等开源电子商务解决方案集成。该协议还可以使小型手工制品卖家受益,为容易出现代购诈骗的平台提供更值得信赖的替代方案。

## Baochip-1x 项目更新 - 摘要 Andrew 'bunnie' H. 的 Baochip-1x 是一种独特的微控制器,其特点是包含内存管理单元 (MMU)——这一功能在该类芯片中并不常见,能够实现像智能手机中那样的安全、可加载应用程序。这一决定源于挑战早期 ARM 设计的现状,这些设计优先考虑低成本而非内存保护,以及对限制开源开发的专有解决方案的不满。 该项目采用“搭便车”的方式,利用 Crossbar, Inc. 设计的 22 纳米芯片上未使用的空间,从而显著降低了生产成本。虽然并非完全开源(某些组件如 USB 和模拟元件仍然是封闭的),但其核心计算逻辑是可检查的,在透明度和实用性之间取得平衡。 Bunnie 旨在为开发者提供易于访问的硬件安全,并培养一个社区,以摆脱对 ARM 的依赖,并构建一个更加开放的硅生态系统。目前正在生产晶圆,预计几千个芯片将通过 Dabao 评估板预订提供,为 2026 年后期更广泛的可用性铺平道路。该项目倡导开源软件,特别是基于 Rust 的 Xous OS,但也欢迎各种操作系统和语言的支持。

## Baochip-1x:一款新的开源RISC-V芯片 Bunnie的新芯片Baochip-1x是一款独特的、透明的芯片,基于带有MMU的RISC-V处理器,旨在解决硬件信任和安全问题。该项目显著地绕过了风险投资,依靠创新的资金和开发方式。 该芯片包含一个主要的RISC-V核心和四个较小的I/O处理器,并采用了一种新颖的方法,即将定制硅添加到现有硬件中。虽然核心是开源的,但由于风险缓解和开源替代方案的复杂性,一些组件(如USB PHY和总线结构)是授权许可的。 讨论强调了开源硬件开发面临的挑战,包括高昂的掩模成本(数百万美元)以及协作所需的信任。用户对运行seL4等操作系统以及使用IRIS等工具检查芯片的可能性感到兴奋。命名方式(“Baochip”和“Dabao”)既是对一种喜爱食物的戏称,也是对中文“保护”一词的引用。

## Megadev:世嘉Mega Drive & Mega CD开发工具包 Megadev是一个为有经验的程序员设计的开发工具包,他们熟悉C语言、M68k汇编和嵌入式系统,旨在简化为世嘉Mega Drive和Mega CD创建游戏和应用程序。与更适合初学者的工具包不同,Megadev优先考虑灵活性和强大功能,尤其是在处理Mega CD附加组件的复杂性方面。 它提供了一整套实用程序、头文件、文档和示例,减少了从头开始构建开发环境的需求。这是一个非营利性的、非官方的粉丝项目,以宽松的许可协议免费分发,与世嘉*无关*。 Megadev承认家庭自制社区的关键人物的贡献,并强调对熟练用户采用直接、较少抽象的开发方法。安装和使用细节请参阅`docs/manual.md`文件。

新的开发工具包“Megadev”,适用于世嘉Mega Drive和Mega CD硬件,已由drojaazu在GitHub上发布,在复古游戏社区引起了兴奋。该项目允许开发者为这些经典游戏机创建新软件。 Hacker News上的公告吸引了具有Mega Drive逆向工程经验的人的回复,包括一位35年前就自己制作过类似工具包的用户。其他人分享了对《Flashback》、《Earthworm Jim》和《Sonic the Hedgehog》等深受喜爱的游戏的怀旧回忆。 讨论还涉及了相关的硬件,如Sega CD和Game Gear,以及现有的开发工具,如GBDK和GB Studio。许多评论者对这个新工具包释放平台更多创作潜力的可能性表示热情,并感谢创作者的工作。

## 并发编程中的隔离幻觉 本文分析了实现真正安全的并发所面临的挑战,重点关注Erlang作为Actor模型的典型例子。虽然之前有人认为Go的通道是“带有额外步骤的共享可变状态”,但Erlang凭借其隔离的进程和消息传递,通常被认为是金标准。 然而,即使是Erlang强大的隔离性——独立的堆、复制的消息、单一所有者的邮箱——也并非万无一失。尽管有OTP行为和监控等复杂的缓解措施,死锁、内存泄漏、竞争条件和协议违规等固有问题仍然会出现,尤其是在性能需求要求通过ETS表和持久化项等机制使用共享可变状态时。 核心问题并非实现上的缺陷,而是一种根本的权衡:通过隔离实现安全不可避免地会导致序列化瓶颈。当多个进程需要相同的数据时,访问*必须*受到控制,从而限制性能。这种压力始终迫使开发人员重新引入共享状态,并随之而来的是隔离模型旨在防止的错误。 这种模式——努力通过控制来实现安全,然后为了性能而妥协——反映了Go等其他并发模型中出现的问题。结论认为,潜在的假设——安全来自于控制线程交互——可能是问题的根源,始终导致回到它试图解决的挑战。

## 隔离陷阱:Erlang - 摘要 这次Hacker News讨论围绕一篇质疑Erlang消息传递并发模型所承诺的绝对隔离性的博文。作者认为,消息传递与共享内存本质上没有不同,两者都容易受到类似的故障模式,如死锁和竞争条件。 评论者们主要争论这一点,许多人认为消息传递*限制*了共享内存,使其更易于管理。他们将Erlang与Rust进行类比,在Rust中,`unsafe`块允许共享内存陷阱,但该语言本身则提倡更安全的并发。 讨论强调了Erlang特定的问题,例如进程之间循环依赖的可能性(死锁)以及使用ETS表等可能引入共享状态的特征的风险。然而,许多经验丰富的Erlang开发者认为,这些问题可以通过纪律和适当的设计来管理,并且Erlang仍然优于其他替代方案,用于构建高度并发、容错系统。 一个反复出现的主题是静态分析和仔细考虑潜在陷阱的重要性,即使是在一种为并发设计的语言中。有些人还指出原始文章中可能存在LLM生成写作风格的潜力。

更多

联系我们 contact @ memedata.com