稀土掘金 稀土掘金
    • 首页
    • 沸点
    • 课程
    • AI Coding
    • 数据标注
    • 更多
      • 直播
      • 活动
      • APP
      • 插件
    • 直播
    • 活动
    • APP
    • 插件
      • 搜索历史 清空
        • 写文章
        • 发沸点
        • 写笔记
        • 写代码
        • 草稿箱
        创作灵感 查看更多
  • 后端
  • 前端
  • Android
  • iOS
  • 人工智能
  • 开发工具
  • 代码人生
  • 阅读
  • 5-28.【性能分析与优化】如何通过代码结构减少 ARC 调用次数?举一个真实优化过的例子。
    一、真实案例:列表 diff 热路径里的 ARC 风暴 背景(真实发生过) iOS 列表 diff(类似 SwiftUI / UICollectionView diff) 数据量:几千到上万 每次刷新
    • 项阿丑
    • 10天前
    • 9
    • 点赞
    • 评论
    Swift
  • 5-27.【性能分析与优化】weak、unowned、强引用在性能上的真实差异是什么?什么场景下 weak 反而更慢?
    一句话结论(先给你直觉) 所以在热路径里,weak 往往是最慢的。 一、三种引用的真实成本模型 1️⃣ 强引用(strong) 做了什么 retain / release 多线程下是原子操作 成本特征
    • 项阿丑
    • 10天前
    • 37
    • 点赞
    • 评论
    Swift
  • 5-26.【性能分析与优化】闭包捕获 self,除了循环引用问题,还可能带来哪些性能隐患?
    一句话总览(结论先行) 下面一个一个说清楚。 1️⃣ ARC retain/release 成为热路径 发生机制 closure 是 heap object self 被捕获 → retain 每次执
    • 项阿丑
    • 10天前
    • 6
    • 点赞
    • 评论
    Swift
  • 5-25.【性能分析与优化】ARC 的 retain/release 在什么情况下会成为热点?
    一句话结论(先给你记忆锚点) 如果你看到 swift_retain / swift_release 排到 Time Profiler 前几名,一定不是“ARC 太慢” ,而是代码结构在逼 ARC 工作
    • 项阿丑
    • 10天前
    • 6
    • 点赞
    • 评论
    Swift
  • 5-24.【性能分析与优化】在 Instruments 中,如何判断一个性能问题是 ARC、派发、算法、I/O 中的哪一类?
    一、先给你一张「症状 → 根因」速查表(很实用) Instruments 症状 最可能类别 swift_retain / swift_release 占比高 ARC objc_msgSend / wi
    • 项阿丑
    • 10天前
    • 11
    • 点赞
    • 评论
    Swift
  • 5-23.【性能分析与优化】如何通过 Instruments 发现过 非直觉性的性能瓶颈?是如何解决的?
    我用真实工作流 + 典型案例来回答:我是如何用 Instruments 发现“反直觉瓶颈”,以及怎么解掉的。 一、先说一个核心心法(非常重要) 换句话说: Instruments 是用来推翻直觉的,不
    • 项阿丑
    • 10天前
    • 16
    • 点赞
    • 评论
    Swift
  • 5-22.【性能分析与优化】Allocations 工具中如何区分“合理分配”和“性能问题分配”?
    一句话先给结论 不是所有 heap allocation 都是坏的,坏的是:可避免 + 高频 + 在循环里。 一、Allocations 里我主要看哪几个维度? 1️⃣ 分配频率(Rate)比总量重要
    • 项阿丑
    • 10天前
    • 8
    • 点赞
    • 评论
    Swift
  • 5-21.【性能分析与优化】Time Profiler 中看到大量 swift_retain / swift_release,你会如何分析?
    1️⃣ 现象 在 Time Profiler 中,你看到: 频繁调用 → CPU 占用高 → 热路径性能下降 通常出现在: class 实例频繁创建 / 传递 闭包捕获 / 临时对象 协议存在类型 /
    • 项阿丑
    • 10天前
    • 8
    • 点赞
    • 评论
    Swift
  • 5-20.【性能分析与优化】你通常使用哪些 Instruments 工具来分析 Swift 性能?各自解决什么问题?
    1️⃣ Time Profiler 用途:分析 CPU 使用和函数调用热点。 解决问题: 找出 热函数(hot path) 判断函数调用是否过多、循环热点 看 泛型调用、动态派发、CoW 是否频繁发生
    • 项阿丑
    • 10天前
    • 12
    • 点赞
    • 评论
    Swift
  • 5-19.【性能分析与优化】在性能敏感路径中,你会如何设计 API 来避免动态派发?
    1️⃣ 优先使用 泛型 + 值类型 值类型方法(struct / enum)默认静态派发 泛型函数在类型已知时也会被编译器 特化和内联 示例: 泛型 T 已知 → 静态派发 静态派发 → 内联 + 去
    • 项阿丑
    • 10天前
    • 9
    • 点赞
    • 评论
    Swift
  • 5-18.【性能分析与优化】protocol extension 的默认实现为什么会导致“看似多态,实际非多态”的问题?
    1️⃣ 现象示例 为什么看似“多态”却不是? 协议扩展默认实现是在 静态派发(Static Dispatch) 即便 p 类型是协议类型,也不会调用结构体 S 自己的方法(除非 S 显式实现 foo)
    • 项阿丑
    • 10天前
    • 11
    • 点赞
    • 评论
    Swift
  • 5-17.【性能分析与优化】final class、private、internal 对方法派发有什么影响?
    1️⃣ final class 对派发的影响 特点 final class 表示 类不能被继承 所有方法也就无法被子类重写 编译器可以静态派发(直接调用函数指针) 即使方法不是 final,只要类是
    • 项阿丑
    • 10天前
    • 6
    • 点赞
    • 评论
    Swift
  • 🔒_安全性能平衡术:如何在保证安全的前提下提升性能[20260130061440]
    Hyperlane is a lightweight and high-performance Rust HTTP server library designed to simplify networ
    • Github开源项目
    • 10天前
    • 8
    • 点赞
    • 评论
    架构 算法
    🔒_安全性能平衡术:如何在保证安全的前提下提升性能[20260130061440]
  • 5-16.【性能分析与优化】为什么通过协议类型(existential)调用方法,性能通常比泛型慢?
    1️⃣ 典型示例 调用: addGeneric → 编译器知道 T = Int → 可静态分发 → 高性能 addExistential → 编译器只知道是 NumericProtocol → 动态派
    • 项阿丑
    • 10天前
    • 11
    • 点赞
    • 评论
    Swift
  • 5-15.【性能分析与优化】哪些情况一定是动态派发?哪些一定是静态派发?
    1️⃣ 静态派发(Static Dispatch) 特点 编译期确定调用目标函数 零开销(没有额外指针查找) LLVM 可以进一步 内联、向量化、优化 CoW 一定是静态派发的情况 场景 示例 说明
    • 项阿丑
    • 10天前
    • 10
    • 点赞
    • 评论
    Swift
  • 5-14.【性能分析与优化】你如何通过代码结构设计,主动引导编译器做更多特化和内联?
    1️⃣ 函数设计:让函数小而热 原则:函数越小,越容易被内联 实践: 好处: square 很小 → 易于内联 调用方看到函数体 → 可生成特化版本 2️⃣ 泛型设计:类型约束明确 + 避免抽象过深
    • 项阿丑
    • 10天前
    • 6
    • 点赞
    • 评论
    Swift
  • 5-13.【性能分析与优化】为什么“跨模块泛型代码”常常性能不如预期?你如何解决?
    1️⃣ 问题现象 假设你写了一个跨模块泛型库: 2️⃣ 原因分析 (1)泛型特化受限 Swift 泛型特化(Generic Specialization) 机制: 编译器会为 具体类型 T 生成专门实
    • 项阿丑
    • 10天前
    • 10
    • 点赞
    • 评论
    Swift
  • 5-12.【性能分析与优化】@inlinable 和 @inline(__always) 的使用场景和风险分别是什么?
    1️⃣ @inlinable 定义 告诉 编译器和模块外调用方: 常用于 库函数/框架函数,允许跨模块内联 特点 函数体 会暴露在模块接口中(即 public 或 internal 可见) 编译器可选
    • 项阿丑
    • 10天前
    • 5
    • 点赞
    • 评论
    Swift
  • 5-11.【性能分析与优化】泛型函数和使用协议作为参数,在性能上的本质差异是什么?
    1️⃣ 泛型函数(Generic Function) 本质特点 编译期已知类型 调用时 T 是具体类型(Int、Double…) 编译器可以 生成特化版本 → 去掉动态派发 LLVM 可以做 内联、S
    • 项阿丑
    • 10天前
    • 6
    • 点赞
    • 评论
    Swift
  • 5-10.【性能分析与优化】编译器在什么条件下会对泛型进行特化(Specialization)?
    1️⃣ 泛型特化是什么 泛型本质:func foo<T>(x: T) 在编译时 T 是未知类型 → 生成“通用代码” → 运行时通过 动态派发 / type metadata 处理 代价:可能有额外
    • 项阿丑
    • 10天前
    • 11
    • 点赞
    • 评论
    Swift
  • 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30