RustTalk

写代码的西瓜

RustTalk 是一档专注在 Rust 社区的程序员闲聊节目。官网:rusttalk.github.io

  1. 7 JUIN

    015. 与 Meta 工程师 Nero 聊 Buck2 与 Rust 构建

    欢迎听众打赏支持,您的支持是我不断创作的动力🍻 本期的嘉宾是 Meta 的工程师 Nero,他是 Buck2 的核心开发者之一。我们将讨论 Rust 在 Meta 的应用、Buck2 的设计理念和特点以及 Buck2 是如何加速 Rust 的构建。 背景补充:Buck2 是 Meta 开源的一个构建系统,可以类比 Bazel。它的设计理念是提供更快、更可靠的构建体验,同时支持大规模的代码库。Buck2 的特点包括增量构建、并行执行和可扩展性,使其适用于大型项目和复杂的构建需求。 链接 Buck2 相关链接 Discord 用户群 facebookexperimental/autocargo : Translate Buck targets to Cargo.toml facebookincubator/reindeer : Transform Rust Cargo dependencies into generated Buck build rules Tutorial: Your First Buck2 Application | Buck2 Jon Gjengset - YouTube: The streams are intended for users who are already somewhat familiar with Rust, but who want to see something larger and more involved be built. Sapling: Source control that’s user-friendly and scalable bazelbuild/starlark 是一种用于配置的语言。它是为 Bazel 构建系统设计的,但也可能对其他项目有用。Starlark 是 Python 的一种方言。与 Python 一样,它是一种动态类型语言,具有高级数据类型、具有词法作用域的一级函数和垃圾回收功能。 r2cn-dev/buck2-rust-third-party: A collection of BUCK files about rust crate David Tolnay 的 buck2-rustc-bootstrap 项目,用 buck2 实现 Rust 编译器自身的构建。 Cold build without cache: 32% faster Incremental: 1.625s vs 2.6s buck2 本身构建时间对比 Cargo build: 2min20s buck2 build: 1min26s 收听方式 国内:小宇宙、微信公众号 国外:Spotify for Podcasters、Apple Podcasts、RSS 反馈 ✉️ 发现内容错误或链接失效?欢迎提交 PR对节目有想法或建议?欢迎来信交流:rusttalk@liujiacai.net

    59 min
  2. 22 MAI

    014. 既生 Rust,何生 Zig

    欢迎听众打赏支持,您的支持是我不断创作的动力🍻 Rust 和 Zig 是新时代系统语言的两个极端,一个完全不信任程序员,编译器内置了各种检查和限制,另一个则完全信任程序员,允许你在编译时做任何事情。Zig 的设计理念是让程序员在性能和安全性之间找到一个平衡点。它提供了更好的错误处理机制和类型系统,避免了 C 语言中的许多常见错误。 这是一期没有嘉宾,是由主播使用 Google NotebookLM 根据 Zig 文档生成,NotebookLM 把 Zig 的特点总结的十分到位:控制性。从单行注释,到任意精度的数字类型、多种指针类型,再到杀手锏 feature 编译时运行,而这个特性无疑对写出高性能程序大有裨益。 希望通过本期节目让更多人了解 Zig 语言,尤其是它的编译时运行特性。Zig 的编译时运行允许你在编译时执行代码,这意味着你可以在编译时计算常量、生成代码或进行其他操作。这种特性使得 Zig 在性能和灵活性方面具有很大的优势。 链接 Rust 与 Zig 关于安全的争论 ghostty-org/ghostty 👻 Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration. 收听方式 国内:小宇宙、微信公众号 国外:Spotify for Podcasters、Apple Podcasts、RSS 反馈 ✉️ 发现内容错误或链接失效?欢迎提交 PR对节目有想法或建议?欢迎来信交流:rusttalk@liujiacai.net

    20 min
  3. 20 JANV.

    013. 跨行程序员 driftluo 的 Rust 历程

    欢迎听众打赏支持,您的支持是我不断创作的动力🍻 本期我们很荣幸邀请到了一位跨行程序员 drift luo 作为嘉宾。他本科专业是会计,但在工作过程中因项目需求和个人兴趣,逐渐转向了编程领域。特别引人注目的是,为了解决 Python 内存占用过高的问题,他在 2017 年就开始深入研究 Rust 语言。要知道,那时的 Rust 还处于相对早期阶段,不仅生态系统远不如今天完善,连最基础的 borrow checker 机制都尚未完全成熟。作为一个非计算机专业出身的开发者,能在那个时期就开始钻研 Rust,着实令人惊叹。 时间线 02:04 职业选择与成长:从大学会计专业到外包公司的挑战与机遇 06:06 从产品工程师到程序员:自学VBA的启示与思考 12:12 从零开始的面向对象之旅:一本让你理解英文原著的Python入门书 18:19 部署 Python 程序时的挑战与解决方案:内存消耗、依赖环境和性能问题 24:24 RUST 编程语言的借用检查和内存占用问题的解决方法探究 30:33 一次离职后的启示:在 Rust 语言的公司中找到新的工作机会 36:38 从零开始的 Rust 项目:探索语言、库和生态的变化过程 42:45 如何在短时间内开发出稳定的功能?——一个开发者在紧张项目中的挑战 48:53 如何在热点路径上选择适合的锁类型?——探讨同步锁和异步锁的性能开销 54:59 poll future 一下,他没响应,任务就丢了?如何处理这种情况? 01:01:06 编程之路:拥抱编辑器检查,适应编程过程中的挑战 01:07:13 Rust 社区的发展趋势与挑战 链接 嘉宾个人信息 博客: https://www.driftluo.com https://github.com/driftluo 学习经历:江西财经大学现经管学院,会计系 工作经历:用友、外包、秘猿科技 2017 年末随笔,嘉宾就是因为这个文章获得了秘猿科技的面试机会 禁止使用 async function 去实现 poll function 在异步环境下的共享状态 以太网络出现漏洞,以太坊边召开开发者大会边修复。所有基于 Go 语言编写的以太坊 1.4.11 版本客户端出现内存溢出错误,并阻止了进一步挖矿,但 Rust 编写的 Parity 客户端并未受此次攻击的影响。 好物推荐 置身事内,(豆瓣:9.1 分) 病人家属,请来一下, (豆瓣:8.6 分) 医生,你在想什么,(豆瓣:8.2 分) 收听方式 国内:小宇宙、微信公众号 国外:Spotify for Podcasters、Apple Podcasts、RSS 反馈 ✉️ 发现内容错误或链接失效?欢迎提交 PR对节目有想法或建议?欢迎来信交流:rusttalk@liujiacai.net

    1 h 13 min
  4. 2024-02-03

    010. 特别节目:闲话 Zig,另一个 Better C 的语言

    欢迎听众打赏支持,您的支持是我不断创作的动力🍻 在新一代的 Better C 里,Rust、Zig 是经常被对比的两个语言,之前在第五期的节目中聊到过,本期继续讨论这个语言。 本期内容来自 ZigCC 的 2024 New Year Party 线上会议的片段,主要讨论内容: Zig 与 C/CPP/Rust 的对比,包括编译速度、大小、抽象程度等 Zig 可发力的方向。目前看,图像处理(GPU)、嵌入式、游戏是几个比较有潜力的方向 链接 What is Zig's Comptime? webui-dev/zig-webui: Use any web browser as GUI, with Zig in the backend and HTML5 in the frontend. EmbarkStudios/rust-gpu:Making Rust a first-class language and ecosystem for GPU shaders Rust-GPU/Rust-CUDA:Ecosystem of libraries and tools for writing and executing fast GPU code fully in Rust. Bevy Engine:A refreshingly simple data-driven game engine built in Rust. Free and Open Source Forever! Announcing `async fn` and return-position `impl Trait` in traits Jonathan Blow 2017–present:Jai programming language, untitled Sokoban game, and Braid, Anniversary Edition Is Rust C++-fast? Benchmarking System Languages on Everyday Routines Open Computing Language OpenCL | NVIDIA Developer Single compilation unit Zig's New Relationship with LLVM | Loris Cro's Blog Assorted thoughts on Zig and Rust (2020) | Hacker News Zig Build System Internals – Mitchell Hashimoto Zig roadmap 2024: incremental compilation andrewrk/ffmpeg: ffmpeg with the build system replaced by zig dtolnay/cxx: Safe interop between Rust and C++ Plugins in Rust: The Technologies | NullDeref make the main zig executable no longer depend on LLVM, LLD, and Clang libraries Tauri or Flutter for RustDesk desktop? · rustdesk/rustdesk · Discussion #533 收听方式 国内:小宇宙、微信公众号 国外:Spotify for Podcasters、Apple Podcasts、RSS 反馈 ✉️ 发现内容错误或链接失效?欢迎提交 PR对节目有想法或建议?欢迎来信交流:rusttalk@liujiacai.net

    1 h 56 min
  5. 2023-12-16

    009. 卡比卡比的开源贡献之旅

    欢迎听众打赏支持,您的支持是我不断创作的动力🍻 本期嘉宾是卡比卡比,虽然他毕业不到三年,但已经成多个开源项目的重度参与者,而且已经是 Apache Arrow 的 PMC,他是怎么做得到?他的开源经历,对我们能有什么启发?这些问题都可以在本期节目中找到答案。 时间线 00:00:29 嘉宾自我介绍 00:02:30 工作经历 00:08:03 数据库查询优化器介绍 00:27:38 Apache Arrow/DataFusion 贡献经历 01:09:07 如何参与开源项目 01:16:38 嘉宾分享 AI 分段 00:02:06 从校园开发到实际编程:我的职业转型经历 00:07:04 数据库优化器:掌握核心代码为未来工作打下坚实基础 00:14:07 工程实践中的难点与解决方案:Code freeze 00:21:14 "基于 Apache Doris 商业开发:开源社区协作的问题" 00:28:16 DataFusion 瑾项目社区友好,让我们能够持续参与开源项目 00:35:24 Rust语言:开源之路的合适选择 00:42:29 探索学习路径:为什么 Rust 实现上的问题总是难以解决? 00:49:32 Rust 本身的设计存在缺陷,需要深入探讨其设计原因和影响 00:56:36 DataFusion 的定位与优势–高效的执行引擎 01:03:46 开源贡献:论迹不论心 01:10:51 要寻找自己擅长的领域并长期为项目做出贡献。 链接 嘉宾个人信息 https://github.com/jackwener 邮箱:jakevingoo#gmail.com 学习经历:华中科技大学本科毕业 工作经历:目前在 SelectDB 做优化器,之前在 NebulaGraph /字节工作过,以前在抖音/微软/腾讯实习过 DataFusion is a very fast, extensible query engine for building high-quality data-centric systems in Rust Apache Arrow is a cross-language development platform for in-memory analytics Apache Doris is a new-generation open-source real-time data warehouse based on MPP architecture Apache Arrow Ballista 基于 DataFusion 实现的分布式查询引擎 CMU 15445 课程 MIT 6.5840 课程 pingcap/talent-plan 优化器 Cascades Columbia 论文 Apache Impala 贪婪的多巴胺 收听方式 国内:小宇宙、微信公众号 国外:Spotify for Podcasters、Apple Podcasts、RSS 反馈 ✉️ 发现内容错误或链接失效?欢迎提交 PR对节目有想法或建议?欢迎来信交流:rusttalk@liujiacai.net

    1 h 18 min
  6. 2023-03-26

    008. 与小福聊聊编译器那些事

    欢迎听众打赏支持,您的支持是我不断创作的动力🍻 本期嘉宾是韦清福,网络 ID:开心的小福。嘉宾之前在字节跳动实习期间从事过 JVM 的研发,现在英伟达从事编译器后端工作,这一期就和他来聊一聊编译器,揭开 compiler 的神秘面纱。 学习经历 本科:电子科技大学 研究生:中科院计算所硕士—编译优化方向 时间线 00:00:43 嘉宾自我介绍 00:02:50 为什么选择编译器这条路 00:09:47 编译器入门经历 00:21:01 读研期间是否推荐选择编译器? 00:25:39 编译器开发协作模式 00:47:10 Zig 使用 LLVM 的方式 01:01:58 分享 链接 编译原理 (豆瓣),俗称“龙书” RISC-V - Wikipedia CUDA 是 NVIDIA 发明的一种并行计算平台和编程模型。它通过利用图形处理器 (GPU) 的处理能力,可大幅提升计算性能。 Iterating over def-use & use-def chains LLVM Bitcode File Format — LLVM 17.0.0git documentation Comparing clang to other open source compilers Zig 中 use-def 的问题: Optimize access of array member in a structure 嘉宾分享 编译器相关书籍 入门:Compiler construction 初级:Engineering a compiler 中级:现代体系结构的优化编译器 高级:LLVM 源码,编译方向论文 体系结构 CSAPP 计算机组成与设计:软硬件方法 计算机体系结构基础(胡伟武) Modern Processor Design: Fundamentals of Superscalar Processors 计算机系统结构-量化研究方法、各种论文 应用程序员学习完 CSAPP 即可 收听方式 国内:小宇宙、微信公众号 国外:Spotify for Podcasters、Apple Podcasts、RSS 反馈 ✉️ 发现内容错误或链接失效?欢迎提交 PR对节目有想法或建议?欢迎来信交流:rusttalk@liujiacai.net

    1 h 8 min

À propos

RustTalk 是一档专注在 Rust 社区的程序员闲聊节目。官网:rusttalk.github.io