框架启动速度优化

酷壳的这篇文章不错,https://coolshell.cn/articles/17998.html

框架目前是基于事件的启动方式。

延迟初始化,能不初始化就不初始化,按需初始化

并行,异步初始化

有些初始化比较耗时的底层组件,比如日志记录组件(日志组件初始化时需要连接数据集),首先是采用异步的方式,同时框架会先创建一个 proxy 对象并返回,对这个底层组件的调用(即日志记录操作),全部押入队列,让依赖这个底层组件的后续启动过程先继续起来,不要阻塞,等这个组件初始化完成后,从队列里面取出来再逐个执行。

 

虽然是基于事件,但是还是很静态的,所以还有一个可以做的就是缓存启动结果,即如果 module 的 dll 没有更新,则重启时,直接读取缓存的启动结果,这样启动过程中可以少执行很多代码。

 

发表评论

电子邮件地址不会被公开。