今日Hacker News精选聚焦于提升开发者效率的工具与技术,从语言编译器优化到智能代码搜索及隐私友好的笔记系统。
Jank 语言引入自定义 IR,性能逼近 JVM
性能突破与优化路径
Jank(Clojure 方言)通过引入自定义中间表示(IR)显著提升了执行速度。在递归斐波那契基准测试中,初始版本耗时 5522 毫秒,而 JVM 基线(OpenJDK 21)约为 200 毫秒。团队通过五步优化将 Jank 时间降至 114 毫秒,约是 JVM 基线的两倍速度。
自定义 IR 设计与关键优化
该 IR 基于 SSA 形式和控制流图,操作在 Clojure 语义层而非底层字节码。优化步骤包括:为算术函数添加内联移除变量解引用和装箱开销;消除布尔分支中的冗余指令;将 nil 表示改为全局 nullptr 以减少分配;使用 64 位指针的低三位编码小整数以避免动态内存;对核心算术函数应用强力内联编译器提示。
实际应用与未来计划
该工作流现在可用于更大基准,例如光线追踪,目标是在实际工作负载中保持速度优势。开发者强调,尽管原生 AOT 缺少 JVM 的自适应 JIT,但 Jank 证明了通过语义贴合的运行时和 IR 调优,Clojure 方言可与 JVM 竞争。社区成员指出,这保留了 Clojure 的动态特性,而纯 C++ 实现虽然更快但会牺牲这些特性。
Semble:为AI代理构建的高效代码搜索工具
极致的搜索效率与准确性
Semble 是一个零依赖的代码搜索库,专为 AI 代理设计。它通过将代码分割为语意块并融合语义与词法匹配,在消耗极少 token 的情况下即时返回精准片段。基准测试显示,其索引速度比代码特化Transformer快 218 倍,查询延迟约 1.5 毫秒;检索质量 NDCG@10 达 0.854,相当于 137M 参数模型的 99%;相比 grep+read,token 消耗减少约 98%,仅需 2k token 即可达到 94% 召回率。
技术实现与工作流
Semble 使用 tree-sitter 将文件切分为语意块,采用 Model2Vec 静态嵌入(基于 potion-code-16M)处理语义相似度,用 BM25 处理词法匹配,二者通过倒数排名融合(RRF)结合。结果再通过代码感知信号重新排序:符号查询提升词法权重,定义块获排名加成,标记词干匹配,同文件多块提升相关度,以及对测试文件等噪声的惩罚。典型工作流是:先用 semble search 定位相关块,仅在上下文不足时检查完整文件;用 semble find-related 探索相关实现;仅在需要精确字符串匹配时回退到 grep。
零设置与实际应用
该工具完全在 CPU 上运行,无需 API key、GPU 或外部服务。可通过 pip install semble 安装,或在 AGENTS.md 中配置为 MCP 服务器,使 Claude Code、Cursor 等代理直接调用。开发者强调,其本地优先设计确保数据不离开机器,适合注重隐私的开发场景;社区反馈表明,在大型代库中,它显著减少了代码探索的延迟。
Files.md:开源本地优先的Obsidian替代方案
隐私友好的纯文本笔记系统
Files.md 是一个开源笔记应用,将所有内容存储为普通的 Markdown 文件,采用本地优先模式确保数据不发送至服务器。它提供多种同步方式而无需自建基础设施:默认仅存储于设备本地;可利用 iCloud/Dropbox/Google Drive 等云文件夹实现跨设备同步;或运行一个可选集成 Telegram 机器人的 Go 二进制文件作为自托管服务器;还提供即时试用的托管版。
核心功能与设计理念
该应用强调零依赖安装:仅需在浏览器中打开 app.files.md 即可离线使用。内置功能包括聊天式快速记事(通过聊天框或 Telegram 机器人导入内容)、使用 [ 创建双向链接构建知识网络、以及常用热键如 Cmd+P 触发文件搜索。随附的 Go 脚本支持诸如将维基链转为 Markdown 或迁移日志时间戳等实用任务。设计理念倡导极简代码以便人类和大语言模型阅读,鼓励用户先用大脑思考再用工具记录,以避免过度依赖 AI 工作流导致的思考延迟。
社区采纳与实际使用
项目已维护五年,获得约 913 星标。使用建议是从零结构开始,每笔记记录一个独立观点,及时将新知识应用于实践,并定期回顾笔记以建立关联。开发者指出,其纯文本天然适合长期保存和与大语言模型交互,吸引了寻求透明、可编辑知识库的用户;社区成员分享,在将其用于项目文档后,发现跨引用维护比传统 wiki 更直截了当。
相关链接:
- It is time to give up the dualism introduced by the debate on consciousness
- Ask an Astronaut: 333 hours of Q&A footage with astronauts
- Jank now has its own custom IR
- Strange crystals found inside wreckage from the first nuclear bomb test
- Show HN: Semble – Code search for agents that uses 98% fewer tokens than grep
- WriteUp: 16 Bytes of x86 that turn Matrix rain into sound
- A Good Lemma Is Worth a Thousand Theorems (2007)
- Cannibalistic attacks between gray seals leave telltale “corkscrew” injuries
- Show HN: Auto-identity-remove – Automated data broker opt-out runner for macOS
- Show HN: Files.md – Open-source alternative to Obsidian
