嘿,HN,
这是一个使用 Go 1.26 的实验性 simd/archsimd 包的 CSV 解析器。
我想看看新的 SIMD API 在实际中的表现。CSV 解析主要是“在缓冲区中查找这些字节”——加载 64 字节,进行比较,获取位置的位掩码。最有趣的部分是正确处理块边界(引号和行结束符可能会跨块分割)。
- 可以作为 encoding/csv 的替代品
- 在 AVX-512 上,未加引号的数据速度提高了约 20%
- 带引号的数据速度较慢(仍在优化中)
- 对于非 AVX-512 的情况提供标量回退
需要设置 GOEXPERIMENT=simd。
[https://github.com/nnnkkk7/go-simdcsv](https://github.com/nnnkkk7/go-simdcsv)
欢迎对边缘案例或 SIMD 实现提供反馈。
返回首页
最新
在过去的几个月里,我一直在重新思考动态语言运行时如何与现代硬件进行交互。最终的成果是ProtoCore及其首个主要实现ProtoJS。
大多数动态运行时(如Python、Ruby,甚至是JS引擎)通过全局解释器锁(GIL)或复杂的内存屏障来处理并发,因为在多个线程之间管理可变状态是非常困难的。
在ProtoCore中,我采取了不同的路径,基于三个支柱:
1. 默认不可变性:所有核心数据结构都是不可变的。我们不使用锁,而是通过结构共享来提高内存效率。这在本质上消除了对象级别的数据竞争。
2. 硬件感知内存模型:对象与缓存行对齐(64字节单元),以防止伪共享并优化缓存局部性。
3. 标记指针:我们为小整数使用56位嵌入负载,这意味着大多数数值操作不需要堆分配。
为了验证这一架构,我构建了ProtoJS。它使用QuickJS进行解析,但用ProtoCore原语替换了整个运行时。这允许真正的工作线程执行(“延迟”),在不复制或涉及GIL相关争用的情况下,共享不可变对象。
当前状态:
- ProtoCore:100%测试通过率(50/50测试),并于今天完成了全面的技术审计。
- ProtoJS:第一阶段完成,展示了真正的并行执行和低于1毫秒的垃圾回收暂停。
我是一名电子工程师(现在是一名大学教授),我想看看应用低级硬件原理是否能够解决高级并发的“混乱”。
我很想听听你对这种以不可变性为首的系统编程方法的权衡看法。
ProtoCore(引擎):https://github.com/numaes/protoCore
ProtoJS(JS运行时):https://github.com/gamarino/protoJS
嘿,HN,
我们已经构建浏览器代理有一段时间了。在生产环境中,我们不断趋向于相同的模式:对于正常流程使用确定性脚本,仅在边缘案例中使用代理。因此,我们开发了演示模式。
这个想法很简单:你在远程浏览器中执行一次工作流程。Notte 记录交互并生成确定性的自动化代码。
它的工作原理如下:
- 在云浏览器中记录点击、输入、导航
- 将这些记录编译成确定性代码(运行时不使用大型语言模型)
- 在托管的浏览器基础设施上运行和部署
最接近的类比是 Playwright 的代码生成,但:
- 基础设施已处理(远程浏览器、代理、身份验证状态)
- 代码在可部署的运行时中运行,具有日志、重试和可选的代理回退
代理非常适合原型设计和动态步骤,但在生产环境中,我们通常希望拥有版本化的代码和可预测的成本/行为。欢迎在评论中深入讨论实现细节。
演示链接: [https://www.loom.com/share/f83cb83ecd5e48188dd9741724cde49a](https://www.loom.com/share/f83cb83ecd5e48188dd9741724cde49a)
--
Andrea & Lucas,
Notte 创始人
嗨,HN!<p>我是Hélène。我和我的丈夫是来自比利时的建筑师,过去几个月我们一直在构建一个名为“13美德”的副项目。<p>这个想法源于本杰明·富兰克林的个人品格体系。他没有同时跟踪许多习惯,而是每周专注于一个美德(如节制、沉默、秩序等),在13周内循环13个美德,然后重复这个周期。他记录了这一实践多年。<p>我们希望有一个严格遵循这一结构的应用,而不是另一个灵活的习惯追踪器。一次关注一个美德。一天关注一个美德。重复。<p>您可以直接在主页上试用账本,而无需创建账户。您可以标记今天的缺失,并查看当前的美德以及富兰克林的原始名言:<p><a href="https://www.13-virtues.com" rel="nofollow">https://www.13-virtues.com</a><p>我们为什么要构建它:<p>我们对那些优化连续性和指标而非反思的生产力应用感到沮丧。富兰克林的系统让人感觉清新、受限且有意图,我们希望有一个我们自己也能真正使用的工具。我的丈夫负责工程;我专注于产品和设计。<p>定价模型:<p>我们故意避免订阅模式。<p>- 免费层:完整的13周周期和每日账本<p>- 终身升级(79美元启动价):超出当前周期的长期历史、引导反思、数据导出,以及一个可下载的现代美德指南(PDF),更深入地解释该方法及其理论基础。<p>富兰克林的系统比SaaS早了几个世纪,每月收费对于这样一个旨在安静实践多年的东西来说感觉不太合适。<p>技术:<p>- 后端:Laravel<p>- 前端:Vue(Inertia)<p>- CSS:Tailwind<p>- 主机:Hostinger<p>在大约12个周末内构建完成。<p>我们今天(中欧时间)会在这里回答问题——乐意讨论实施、定价决策或富兰克林的原著。特别欢迎有深思熟虑的UI/UX反馈。
我热爱科技。但我对未来不再抱有乐观的态度。看起来人工智能不会消失,管理者似乎更倾向于推动人们使用人工智能,而不是构建可靠的软件,只要能推出产品就行。其他一切都在被人工智能摧毁:艺术、音乐、书籍、个人网站。当谷歌的人工智能摘要可以直接给你总结时,为什么还要读博客文章?当你可以直接获得书籍的人工智能摘要时,为什么还要读书?当你可以生成无尽的人工智能音乐时,为什么还要为音乐支付艺术家?
甚至像“日常琐事”这样的事情也正在被像ClawdBot这样的工具自动化。你唯一能做的就是在一天中吃东西和上厕所。人们应该如何赚钱?我不知道,因为在这个“繁荣的未来”里,一切都被人工智能取代了。
所以我想问HN:这一切还有意义吗?我们为什么要继续前行,目标又在哪里?