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

增加处理器缓存支持能力,提升构建速度 #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

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

1 participant