Gracker (@Gracker_Gao) header
Gracker (@Gracker_Gao) profile picture

Android 性能优化工程师|独立开发者|Codex&Claude 双持|骑行爱好者

Los Angeles, CA
Joined February 2013
Photo by Gracker (@Gracker_Gao)Photo by Gracker (@Gracker_Gao)Photo by Gracker (@Gracker_Gao)Photo by Gracker (@Gracker_Gao)Photo by Gracker (@Gracker_Gao)Photo by Gracker (@Gracker_Gao)Photo by Gracker (@Gracker_Gao)Photo by Gracker (@Gracker_Gao)Photo by Gracker (@Gracker_Gao)Photo by Gracker (@Gracker_Gao)
记一件小事,蛮感动的
2
9
2,554
两年前关于短视频的一些想法,放到现在的 AI 短剧也是一样,而且有过之无不及
1
82
刚开始以为是在清理街上的垃圾,没想到是在清理河面😂
Bangladeş'te komşular köprü olmadan birbirine gidip gelirdi. Hükümet aniden, köprü vazifesi gören çöpleri kaldırarak altında bir nehrin geçtiğini keşfetti.
80
前几天听劝把 X 账号关联到 Google Search,今天就看到数据了。 可以根据 Google Search 的关键字来看自己的推文怎么优化。 search.google.com/search-con…
135
我之前听说某厂商的 Ultra 也要用 MTK 的芯片了,我反正是不信的。 但是看了极客湾的 8EE6 的数据,再结合高通的高价格,以及今年内存和存储涨价的背景,感觉也不是不可能🙁
骁龙 8EE6 翻车,可能是今年芯片行业最抽象的一次架构设计事故。 看完极客湾最新的大横评,终于理解为什么高通这次能把 2nm 旗舰芯片做出两三代的能效倒车。 问题不是 CPU 不够强,而是计算资源堆上去了,数据却喂不过来。 极客湾实测,8EE6 的中核 IPC 相比上代 8E5 下降约 11%,部分负载下的能效甚至不如几年前的骁龙 8 Gen 3。 从微架构角度来看,主要有三个问题。 第一个问题:TLB 设计翻车,CPU 大量时间浪费在地址翻译上。 TLB 是 CPU 用来缓存虚拟地址到物理地址映射关系的硬件。 8EE6 采用了新的 TLB 条目组织方式,尝试将多个 4KB 页面组合管理,以提高地址翻译缓存的覆盖效率。 但这套方案对页面映射和分组条件非常敏感,特定连续内存访问模式反而可能产生严重的 TLB 冲突和条目替换问题。 原本应该命中的地址翻译频繁 Miss,CPU 不得不重新进行 Page Table Walk。 极客湾测得: - 8E5 页表遍历延迟约 55ns,8EE6 增加到 77ns。 - L2 TLB 命中延迟从约 13.4ns 增加到 20ns。 - 某些负载下,页表遍历次数甚至达到上一代的十倍左右。 更离谱的是,某些数据结构越紧凑、内存访问越连续,性能反而越差。 这套设计被推测与适配 Android 16KB 内存页及提升 TLB 覆盖效率有关,但具体设计动机尚未得到高通证实。 第二个问题:超大核和中核共享 L2,电压与频率管理相互牵制。 高通这次引入了 16MB Oryon Flex Cache,让不同类型的 CPU 核心共享 L2 缓存。 共享本身并不是坏事,问题在于这套实现中,L2 的时钟和供电与超大核存在耦合。 于是出现了一个尴尬的局面: 中核开始高强度工作,但超大核没什么负载,此时如果 L2 维持较低频率,缓存访问延迟就可能明显增加,CPU 的执行流水线只能等待数据。 如果为了保证中核性能,提高 L2 的频率和供电电压,又会增加与之关联的超大核供电域功耗。 超大核明明没干多少活,却要跟着承担额外的功耗成本。 极客湾的相关测试中,这种联动造成的额外功耗最高超过 0.7W。 这就非常抽象了:想降低延迟,就得增加功耗;想控制功耗,又可能牺牲性能。 第三个问题:软件优化也没完全跟上。 极客湾还指出,Android Bionic 中针对 Oryon 的部分内存操作优化,存在 CPU Variant 识别范围与新芯片不匹配的问题。 硬件本来就存在访存瓶颈,软件层面的专用优化还可能没有正确启用。 最终,多个问题叠加,让 8EE6 出现了非常不符合旗舰定位的能效表现。 从《明日方舟:终末地》到《鸣潮》,极客湾都测到了部分场景下新芯片帧率不如上一代、功耗却更高的现象。 最讽刺的地方在于: 高通用上了先进的 2nm 工艺,把超大核频率推到了 5GHz,也给了 CPU 更强的执行资源。 结果 TLB 和缓存子系统没能跟上,执行单元不得不等待数据;为了降低等待延迟,又需要付出额外的频率和电压成本。 这代 8EE6 不是没有性能,而是为了释放性能,需要付出的功耗代价太高了。 软件适配问题还有机会通过 OTA 改善,但 TLB 和缓存供电域这样的硬件架构取舍,基本不可能靠系统更新彻底解决。 这次高通算是给整个行业上了一课: CPU 性能不是把频率、流水线宽度和晶体管数量堆上去就行。真正决定能效的,是整个微架构能不能把计算、缓存、访存和电源管理协调起来。 先进制程可以提供更好的硬件基础,但救不了不合理的系统架构设计。
1
243
看到这段笑死了,最后拉拉链那一下是精髓!!人到中年.... 电影是韩国电影:极限职业,看了几个切片,果断下了原片去看!各种爆笑和反转😂
2
263
特斯拉也开始搞促销了,年底开始冲销量!赶紧把中国地区的自动驾驶搞定(满血版 FSD)才是正道,到时候不愁销量! @elonmusk 特斯拉全新福利“特从容”金融方案上线!2026年10月30日(含)至2026年11月30日(含)前下单 Model 3后轮驱动版/长续航后轮驱动版/长续航全轮驱动版 尾款立减10000元后 首付3.99万元起 五年月供最高约2429元 尾款3.99万元① Model Y后轮驱动版/长续航后轮驱动版/长续航全轮驱动版 尾款立减4000元后 首付3.99万元起 五年月供最高约2995元 尾款3.99万元② Model Y L 首付5.99万起 五年月供最高约3920元 尾款3.99万元③
1
290
凡人又出两个新角色,符合你们预期吗? #凡人修仙传 又出两个新角色,符合你们预期吗? 第一个应该是阴罗宗宗主陆夫人,第二个是凤冰。 阴罗宗宗主的夫人姓“陆”(原著里只称她为“陆姓黑衣妇人”)修为只有“元婴初期”。 “凤冰”天道盟两位盟主之一(另一个是“龙晗”),鸾鸣宗宗主兼太上长老(和龙晗一起)修为:元婴中期巅峰,和另一位同为盟主的龙晗(也是:元婴中期巅峰)为道侣,传闻:“俩人合力能抵抗元婴后期”(这段原著里是龙晗开会,动画换成凤冰了(算提前登场)看样子“龙晗”登场往后推了一下)
2
3
357
我胡汉三又回来了!!先走一个 20 刀试试水
2
128
骁龙 8EE6 翻车,可能是今年芯片行业最抽象的一次架构设计事故。 看完极客湾最新的大横评,终于理解为什么高通这次能把 2nm 旗舰芯片做出两三代的能效倒车。 问题不是 CPU 不够强,而是计算资源堆上去了,数据却喂不过来。 极客湾实测,8EE6 的中核 IPC 相比上代 8E5 下降约 11%,部分负载下的能效甚至不如几年前的骁龙 8 Gen 3。 从微架构角度来看,主要有三个问题。 第一个问题:TLB 设计翻车,CPU 大量时间浪费在地址翻译上。 TLB 是 CPU 用来缓存虚拟地址到物理地址映射关系的硬件。 8EE6 采用了新的 TLB 条目组织方式,尝试将多个 4KB 页面组合管理,以提高地址翻译缓存的覆盖效率。 但这套方案对页面映射和分组条件非常敏感,特定连续内存访问模式反而可能产生严重的 TLB 冲突和条目替换问题。 原本应该命中的地址翻译频繁 Miss,CPU 不得不重新进行 Page Table Walk。 极客湾测得: - 8E5 页表遍历延迟约 55ns,8EE6 增加到 77ns。 - L2 TLB 命中延迟从约 13.4ns 增加到 20ns。 - 某些负载下,页表遍历次数甚至达到上一代的十倍左右。 更离谱的是,某些数据结构越紧凑、内存访问越连续,性能反而越差。 这套设计被推测与适配 Android 16KB 内存页及提升 TLB 覆盖效率有关,但具体设计动机尚未得到高通证实。 第二个问题:超大核和中核共享 L2,电压与频率管理相互牵制。 高通这次引入了 16MB Oryon Flex Cache,让不同类型的 CPU 核心共享 L2 缓存。 共享本身并不是坏事,问题在于这套实现中,L2 的时钟和供电与超大核存在耦合。 于是出现了一个尴尬的局面: 中核开始高强度工作,但超大核没什么负载,此时如果 L2 维持较低频率,缓存访问延迟就可能明显增加,CPU 的执行流水线只能等待数据。 如果为了保证中核性能,提高 L2 的频率和供电电压,又会增加与之关联的超大核供电域功耗。 超大核明明没干多少活,却要跟着承担额外的功耗成本。 极客湾的相关测试中,这种联动造成的额外功耗最高超过 0.7W。 这就非常抽象了:想降低延迟,就得增加功耗;想控制功耗,又可能牺牲性能。 第三个问题:软件优化也没完全跟上。 极客湾还指出,Android Bionic 中针对 Oryon 的部分内存操作优化,存在 CPU Variant 识别范围与新芯片不匹配的问题。 硬件本来就存在访存瓶颈,软件层面的专用优化还可能没有正确启用。 最终,多个问题叠加,让 8EE6 出现了非常不符合旗舰定位的能效表现。 从《明日方舟:终末地》到《鸣潮》,极客湾都测到了部分场景下新芯片帧率不如上一代、功耗却更高的现象。 最讽刺的地方在于: 高通用上了先进的 2nm 工艺,把超大核频率推到了 5GHz,也给了 CPU 更强的执行资源。 结果 TLB 和缓存子系统没能跟上,执行单元不得不等待数据;为了降低等待延迟,又需要付出额外的频率和电压成本。 这代 8EE6 不是没有性能,而是为了释放性能,需要付出的功耗代价太高了。 软件适配问题还有机会通过 OTA 改善,但 TLB 和缓存供电域这样的硬件架构取舍,基本不可能靠系统更新彻底解决。 这次高通算是给整个行业上了一课: CPU 性能不是把频率、流水线宽度和晶体管数量堆上去就行。真正决定能效的,是整个微架构能不能把计算、缓存、访存和电源管理协调起来。 先进制程可以提供更好的硬件基础,但救不了不合理的系统架构设计。
3
1
1
841
哈哈哈哈,苹果哪个人才想的 MacBook Pro 需要触摸屏的?日常用的时候别人过来点一下屏幕我都要擦半天,为此还买了好多张影视飓风的纳米布。感情你出这个是为了提升你们自己家纳米布的销量的是吧? 不过重量降低是实打实的好处,16 寸从 2.3 降低到了 1.8kg,这个好评!不过我想了一下,降了这么多,代价是什么?🤔
2
1
10
1,345
看到最后泪目了,真是忙着跟生活对线,没空玩游戏了😂
人生如戏,游戏人生。 自带复古感的回忆杀,笑着笑着就哭了。 晚上还看了很久98年的Michael Jordan带领公牛队犹他爵士,总觉得那是NBA篮球的巅峰时刻。
201
飓风Tim抽100台iPhone 邵艾伦抽15台iPhone Duo 2TB 那我也跟抽15台iPhone Duo 2TB 条件一样,不看粉丝,不需要蓝标。 参与方式:关注我,一键三连本帖。 24小时后让@grok开奖。 简中区博主们一起发福利, 请不要再错过这次机会。 不要等别人抽到了,才来后悔。 抽15个粉丝送给我,人人都有机会。
38
21
34
1,575
作为 政和量化团队,我们将向 10位幸运粉丝赠送 10台 iPhone Duo 设备!🎁(手机已备好) 无规则或条件。只需点赞此帖,转载此帖,并在下方评论“已关注”。 获奖者将于明天凌晨 12:00 公布。祝好运!☘️❤️
6,841
5,258
119
6,023
362,058
总感觉在用很平淡的语气讲一个很平淡的故事,但是就是很吸引人,可能是我有电影滤镜在里面
2
227
为了换 iPhone 折叠屏,我把手里的 Find N6 卖了换成 Find X9 Ultra,想的是拍照用 X9U,iOS 用 iPhone 折叠屏。 没想到折叠屏这么拉跨,18PM 倒是不拉跨,一看 1tb 版本 1.6 万直接劝退。 做为手机行业的从业者和消费者,碰到这样的行情真是欲哭无泪啊! 想当年 24Gb 内存的 一加手机出来的时候,我就预测后续 24GB + 1T 就是标配了,谁能想到现在还是 12GB 的天下啊😭😭,天天搞这些内存优化搞得形态都崩了
Replying to @lixinbao_X
希望苹果不要搞那种:折叠屏牺牲相机的骚操作!不过大概率会,所以我已经预判了它的预判,早入入手 Android 拍照旗舰了!
239
时间壁纸,每过一天小白点亮一个,今年就要过完了😮‍💨😮‍💨😮‍💨😮‍💨😮‍💨😮‍💨
5
515
之前上班嫌公司台式机内存不够,自己买了两条, DDR4 的台式机内存条买的 219,现在 789 了,是时候在闲鱼卖掉了!
1
309
Android 16KB 大页优化:不改变 4KB 基础页,也能获得大页收益 在 LPC 2026 上,小米的 Nanzhe Zhao、Bo Zhang 和 Barry Song 分享了一项值得关注的 Android 内核优化:通过 16KB mTHP 与 Large Folio Page Cache,在保留 4KB 基础页的前提下提升内存管理和 I/O 性能。 这是一条不同于直接切换 16KB Base Page 的技术路线。 一、核心技术原理 传统 Android 系统主要采用 4KB 基础页,而 16KB mTHP 利用 Linux Folio 机制,将四个物理连续的 4KB 页面组合为一个 order-2 folio。 它的优势是保留 4KB 最小分配粒度,同时降低部分缺页处理及内存管理开销。不过,16KB mTHP 仍采用 PTE 级映射,TLB 优化依赖处理器的硬件页聚合能力(HPA),并不完全等同于真正的 16KB 基础页。 另一项关键技术是 F2FS Large Folio Page Cache。 通过扩大 Page Cache 的管理粒度,内核能够优化预读、Buffered I/O 和后台 Writeback。为此,F2FS 还需要适配子页 Dirty 状态、mmap 写缺页、部分截断,以及垃圾回收过程中的数据迁移。 演讲展示的特定测试中,1MB 文件读取配合批量优化后,吞吐量提升约 60.2%;1MB 后台回写场景提升约 80.3%。lpc.events 二、Android 实际性能表现 18 个 App 冷启动总耗时 −6.6% 52.16s → 48.74s kswapd CPU 时间 −9.5% 27.47s → 24.86s 上述结果来自同时启用 16KB mTHP 和 F2FS Large Folio 的组合配置。其中 App 启动时间采用 am start -W 测量首帧,并对 18 个 App 求和,不能将收益单独归因于某项技术。lpc.events 三、真正的难点是碎片管理 16KB Folio 要求四个连续物理页,长期运行后可能因内存碎片而分配失败。 传统主动内存整理偏向创建 2MB 连续区域,对 16KB mTHP 而言成本过高。因此,团队提出 Lightweight Compaction,针对较小 order 整理内存,避免不必要的页面迁移。 相关独立 RFC 在内核编译负载中,将 kcompactd CPU 时间降低了 84%,但这不是 Android 整机性能提升幅度。lwn.net 另一个问题是 Scudo。将分配器页粒度改为 16KB,有利于 VMA 对齐和 mTHP 分配,却会增加 Padding 和内存释放粒度。演讲中的 12 个原生 App 测试显示,Scudo 总 RSS 增加了 7.44%。 四、技术价值 这项工作的意义,并不是证明 16KB mTHP 能全面替代 16KB Base Page,而是探索一种兼容现有 Android 应用、能够渐进部署的大页优化方案。 对于 Android 系统优化,需要综合评估 App 启动耗时、Page Fault、TLB、Folio 分配回退、内存碎片、PSI 和后台回收开销。 最终目标不是让页面越大越好,而是找到性能收益、内存利用率与系统稳定性之间更合理的平衡点。
🤖 Made with AI
286