I'm making good progress on the Try Dart scenario of incremental compilation, compile-times for hello-world (HTML) are improving:
https://plus.google.com/104729279175870053531/posts/A4teh5Q4RyY
The trick is then to be able to scale this up to large applications by recompiling only methods that are affected by a change. Ideally, compile times will be proportional to the impact of a change. That is why there is still a lot of work to do in this area.
To ensure incremental compilation is robust, I've started writing a test where I compile all provided files using the same compiler (aka incremental compilation). Eventually, I want to use fuzzing as well, but for now, compiling all language and dart2js_extra tests reveal enough problems to keep me busy.
This test is rather fast, and there are surprisingly few problems to address:
Total: 1557 tests
* 90 tests (5.780%) cancelled the compiler
* 0 tests (0.000%) crashed the compiler
* 57 tests (3.661%) were skipped (as they would cause a crash)
real 1m29.555s
user 1m27.276s
sys 0m3.408s
Notice that this is using a single CPU. Hopefully, we can find a way to use this to make dart2js engineers more productive by having a fast way to run all tests.
Cheers,
Peter