Skip to content
New issue

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

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

Already on GitHub? # to your account

增加处理器缓存支持能力,提升构建速度 #102

Open
wuhy opened this issue Oct 20, 2015 · 0 comments
Open

增加处理器缓存支持能力,提升构建速度 #102

wuhy opened this issue Oct 20, 2015 · 0 comments

Comments

@wuhy
Copy link

wuhy commented Oct 20, 2015

之前 @junmer 搞过一个处理器 edp-build-memoize 但存在如下几个问题:

  • 使用麻烦,每次都得包裹下处理器,然后传一些处理参数
  • 不支持同时对多个处理器使用,一次只能用一个 (算是一个 bug吧)
  • 实现上未考虑文件依赖问题,毕竟每个处理器做的事情影响了其缓存是否能直接基于文件 md5 来判定是否能使用
  • 实现上有些问题:判断能否使用缓存的逻辑,用处理输出的文件的 md5 跟输入文件 md5 比较,其次缓存信息只包括输出文件数据,没有包括 ouputpath 相关缓存信息

针对这几个问题,实现的缓存机制如下:

  • 提供统一的缓存上下文机制,每个处理器自行决定要不要使用缓存机制,默认都是 false,每个处理器可以自行实现文件是否变化的 api,来决定是否能用缓存,此外可以自行实现获取文件依赖的 api,用于提供文件变化的参考
  • 当前对 less-compilerstylus-compilermodule-compiler 内置实现了依赖信息获取的 api
  • 考虑到使用缓存,也是有文件读取开销,因此处理器是否使用缓存,建议只针对处理速度慢的才开启

当前实现分支在这里edp-build

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

No branches or pull requests

1 participant