I had a similar problem (additionally) with travis: It is not as bad there but with about 32 jobs running with different compilers per PR and commit (on dev/master) the turnaround got quite low. What I did first was to cut down on jobs on PRs: I only test latest + oldest clang and g++ now. I still run the full suite on dev/master commits (and hence after merge) to detect regressions in compilers causing failures in my library. What can also help: Spread out your jobs: Currently there are at least 3 CI services which offer free windows testing: - Appveyor - Travis - Github actions - (Azure pipelines? Haven't tried yet) Especially GH actions is very fast (currently), so this offers a way to reduce the pressure on Appveyor jobs. Run what you can on GH actions and the rest on appveyor. Except for the lack of YAML references I like their (GHA) Job descriptions much better. They allow matrices per job, multiple jobs per yaml and multiple yamls as well as using "building blocks" from your or other repos. Give it a try! :)