Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

registerIfNeed 问题严重 #2

Open
ys2013 opened this issue Mar 10, 2023 · 1 comment
Open

registerIfNeed 问题严重 #2

ys2013 opened this issue Mar 10, 2023 · 1 comment

Comments

@ys2013
Copy link

ys2013 commented Mar 10, 2023

采用UnsafeMutablePointer<AnyClass>.allocate(capacity: numberOfClasses)遍历所有class的方式,在对class进行类型判断is/as?的时候,特别耗时,我这里一个不太复杂的demo有3.6w个class,所需要的时间大概在2.6s,对于大型工程,class数量更多,这个耗时太严重

所以,想请问下是否有考虑更好的免注册方案

@wxlpp
Copy link
Owner

wxlpp commented Mar 12, 2023

采用UnsafeMutablePointer<AnyClass>.allocate(capacity: numberOfClasses)遍历所有class的方式,在对class进行类型判断is/as?的时候,特别耗时,我这里一个不太复杂的demo有3.6w个class,所需要的时间大概在2.6s,对于大型工程,class数量更多,这个耗时太严重

所以,想请问下是否有考虑更好的免注册方案

这个库目前没有在维护了,现在在从事 RN 工作有一段时间没有接触 Swift 了。之前有考虑过加一层缓存。由于没什么人用我就没弄了。你可以自己试试。
一种是根据 build-number 将遍历结果缓存。这样就只有每次更新 app 第一次启动的时候会慢。
一种是写一个 run-script 在 build 的时候就生成路由列表。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants