Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[perf] Kill tasks directly rather than through the supervisor
When lots of things happen in lexical, it's necessary to kill some outstanding tasks that won't finish. When lots of things need to be killed (as in when a lot of files are changed), killing them can become a bottleneck. This is because we were using terminate_child, which makes a genserver call through the supervisor and waits for the pid to exit before it returns. This, in turn would cause the supervisor to back up and the task queue to die because of timeouts. Replacing this with `Process.exit` removes the bottleneck and doesn't seem to have any adverse effects.
- Loading branch information