iOS-Weekly icon indicating copy to clipboard operation
iOS-Weekly copied to clipboard

COWMacro

Open ChengzhiHuang opened this issue 1 year ago • 1 comments

推荐收录

链接

https://github.com/wezzard/COWMacro

理由

这个宏还是很好用的,如果 Struct 很大的话,并且作为参数传递,很容易产生非常大的包大小体积(生成的代码中大量包含了 copy 代码)。

在业务测可以通过 COW 宏快速包装(读内网一份卓立组同学的文档学到的)

推荐人信息

如果收录这个资源,我们会在点评后面说明推荐信息人。

ChengzhiHuang avatar Dec 06 '23 09:12 ChengzhiHuang

极端情况下,一个巨大的 Struct 的 传递,在 <= Swift 5.8 以下,就能产生 1KB 的汇编代码,什么叫包大小杀手啊(战术后仰

ChengzhiHuang avatar Dec 06 '23 10:12 ChengzhiHuang

极端情况下,一个巨大的 Struct 的 传递,在 <= Swift 5.8 以下,就能产生 1KB 的汇编代码,什么叫包大小杀手啊(战术后仰

它会逐个copy,特别是涉及enum case/bool的话还会反复的and 0xffff_0000 和 bfi 之类的操作来spilt & merge 点名批评 SwiftUI 的 _ViewInputs 🤡

Kyle-Ye avatar Apr 07 '24 09:04 Kyle-Ye

极端情况下,一个巨大的 Struct 的 传递,在 <= Swift 5.8 以下,就能产生 1KB 的汇编代码,什么叫包大小杀手啊(战术后仰

它会逐个copy,特别是涉及enum case/bool的话还会反复的and 0xffff_0000 和 bfi 之类的操作来spilt & merge 点名批评 SwiftUI 的 _ViewInputs 🤡

那这个 issue 给你了:),你的 OpenSwiftUI 有正式 release 了也自己给自己推荐一波吧

ChengzhiHuang avatar Apr 08 '24 02:04 ChengzhiHuang

在论坛看到有人也发布了一个 COW 的库,顺便贴上来 https://github.com/Swift-CowBox/Swift-CowBox

kemchenj avatar Apr 09 '24 05:04 kemchenj