< 返回版块

Mike Tang 发表于 2026-09-21 09:04

Vortex:可扩展列式格式如何适配任意数据形状

Vortex 是 Linux Foundation 下的开源列式数据格式,用 Rust 实现,并与 Apache Arrow 零拷贝兼容。作者为即将在 EuroRust 2026 的演讲写了配套长文,说明如何把逻辑类型、物理编码与存储布局拆开,使同一格式能承载简单标量到嵌套 JSON、向量嵌入乃至更复杂数据,而不必为新类型另起一套文件格式。

核心数据是带 DType 的 Array。DType 只描述逻辑含义(Primitive / Utf8 / List / Struct / Extension 等),不绑定磁盘布局。同一逻辑 U32 列可以是字典编码、run-end、bitpacking 等不同物理编码;编码之间可级联压缩(例如字典 codes 再做 run-end,再 bitpack)。计算侧提供针对编码的 kernel 与 rewrite 规则,可在仍压缩的数据上做 sum、compare、filter 等,必要时再 canonicalize。类型、编码与 layout 都可扩展并注册到 session,不必改中央枚举或等规格委员会。仓库:https://github.com/vortex-data/vortex 。

原文链接:https://spiraldb.com/blog/vortex-one-format-for-any-shape

Portus:基于 Pingora 的 Kubernetes Gateway API 实现

Portus 是用 Rust 写的 Kubernetes Gateway API 实现,数据面基于 Cloudflare Pingora 0.9。控制器直接把 Gateway API CRD 编译成 protobuf 配置,经 gRPC 下发给每个 Gateway 独立的 dataplane Deployment;配置通过 ArcSwap 原子切换,中间没有 Envoy/Nginx 式二次配置语言,也不做 sidecar 注入。

对 Gateway API v1.6.2 experimental channel,五个 profile(HTTP / gRPC / TLS / TCP / UDP)共 130/130 一致性测试通过。作者按 howardjohn/gateway-api-bench 方法与 agentgateway v1.5.0 对比:裸 GET 在 64/128/256 连接下 QPS 约高 21%–40%;固定 30,000 QPS 时 p99 约 0.35 ms 对 0.82 ms。另提供实验性 Rama 网络栈适配器(同样 130/130)。Helm chart 0.2.3 发布于 oci://ghcr.io/portus-gateway/charts/portus-gateway

原文链接:https://github.com/Portus-Gateway/Portus

confset:用一份 Pkl 生成各工具原生配置

confset 用一份 confset.pkl 生成 oxlint、oxfmt、rustfmt、ruff、cargo-deny、prettier 等工具的原生配置文件。内嵌 pklr,不要求本机再装 Pkl CLI;工具与编辑器扩展仍按各自原有发现路径读取生成结果。

命令包括 init / generate(含 --watch)/ validate / list / clean。输出所有权记在 .confset/state.json(路径与 SHA-256);拒绝覆盖非托管或被外部改过的文件,变更按文件旁路 staging 后原子替换。安装可用 GitHub release 预编译、cargo binstall confset,或 cargo install confset --locked(需 Rust ≥ 1.98.1)。

原文链接:https://github.com/mathematic-inc/confset

Windows 上 MSVC link 与 rust-lld 的链接对比

GitComet(Rust 写的 Git GUI)作者在 Windows 上对比最终 native link 步骤:Microsoft link.exe 与 Rust 自带的 rust-lld(MSVC 兼容模式)。环境为 Windows 11 Pro、Ryzen 9 5950X、128 GiB、x86_64-pc-windows-msvc、Rust 1.98.1 / LLD 22.1.8 / MSVC LINK 14.51。

开发构建 11 组配对测量(相同 linker 输入、热缓存、禁用 incremental、/DEBUG:FULL):墙钟中位数 5.683 s → 4.508 s(约 −20.4%),进程树峰值 committed memory 2,887 MiB → 1,499 MiB(约 −48.1%),进程树 CPU 时间约 +6.4%,PDB 约 +11.8%,EXE 大小几乎不变。作者已在仓库附测量脚本与切换 PR,并询问社区切换 Windows linker 时还需注意什么。

原文链接:https://www.reddit.com/r/rust/comments/1wfwnb2/msvc_vs_rusts_lld_on_windows_20_shorter_links_48/


From Rust中文社区 Mike

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页