
从独立 Python 发行版、Zig 构建打包、跨端语言、HTMX 迁移、字节码映射和 Go GC 观测出发,看可移植性为何已经扩展为运行时、依赖、调试证据与维护责任的完整交付。
| 帖子 | HN 发帖时间(北京时间) | 抓取时热度 | 它暴露的边界 |
|---|---|---|---|
| Self-contained highly-portable Python distributions | 7 月 28 日 02:43 | 103 分,20 条评论 | 发行包仍然要面对 libc、CPU 指令和原生扩展 |
| Watching Go's new garbage collector move through the heap | 7 月 25 日 15:55 | 156 分,16 条评论 | 运行时行为只有被观测,才谈得上调优 |
| Removing React.js from the codebase and adapting HTMX for UI interactivity | 7 月 27 日 20:15 | 214 分,154 条评论 | 前端框架也会制造重复实现和迁移负担 |
| Bytecode-to-Source Mapping | 7 月 28 日 02:25 | 34 分,2 条评论 | 调试元数据是运行时工件,不是可有可无的注释 |
| C/C++ projects packaged for Zig | 7 月 28 日 07:09 | 12 分,2 条评论 | 构建系统本身决定了项目能否跨平台交付 |
| Show HN: Dowe | 7 月 28 日 07:26 | 9 分,4 条评论 | 一份源代码要靠编译期契约约束多个目标 |
.so 扩展;x86_64_v2、v3 和 v4 会使用更新的 CPU 指令,在不兼容的机器上可能直接启动失败。2perf 比较旧 GC 和 Green Tea 在 packed、scattered 两种指针布局下的行为。作者发现,只看 L3 cache miss 会得到误导性的印象;换成按指令数归一化的 MPKI,并补测 L1 后,才能看到 Green Tea 在示例工作负载上减少了更低层缓存访问,运行时间也下降。4HeapInuse 却不会按同样比例下降。作者用手工复制存活对象的方式重新打包,才让内存布局变得紧凑。这个结论只适用于文章里的实验和 Go 的分配模型,不能直接推广成所有程序都会遇到同样的内存浪费。misago.js 从 615 KB 降到 530 KB,gzip 后从 124 KB 降到 99 KB。6build.zig 和 build.zig.zon;或者 fork 上游项目,清理原有构建脚本并打补丁。贡献规则还要求使用最新 Zig、添加能保证 zig build 成功的 CI,并在上游项目更新时承担维护构建脚本的工作。组织主页显示当前有 123 个仓库,但这不代表所有仓库都已经成为上游项目的默认构建路径。8O(1),内存却是 O(n);运行长度编码把空间降到 O(r),但随机查询要线性扫描;记录每个区段的起始 offset 后,就可以用二分查找做到 O(log r),顺序反汇编则用游标保持整体 O(n)。10gregoryszorc.com
gregoryszorc.com
news.ycombinator.com
news.ycombinator.com
github.com
news.ycombinator.com
tidefield.dev
news.ycombinator.com
dowe.dev
dowe.dev
news.ycombinator.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.