Open PragTob opened 3 years ago
Hi @PragTob, I am interested in learning more about what I can do in the meanwhile. I upgraded to 0.21.2 because I saw performance was improved. Alas, the performance is considerably less for now. I am running the test suite locally (not in parallel) and by the SimpleCov starts to process the coverage I have an additional couple of minutes for SimpleCov to sort and format the result I guess.
I turned off branch coverage, which helped a little but the performance is still far from acceptable to me. Do you need any assistance in finding and fixing these issues? If so, can you point me to where I can start looking? I saw #916 for instance, might be a good place to start?
@mhenrixon can you please open a new issue about this? With your setup and at best a repo to reproduce/where the time is spent. The changes should not have impacted normal setups that don't use SimpleCov.collate
as the changes were aimed at making those faster. Of course, I might have broken stuff while changing this which of course I'd wanna change. Performance should not have digressed from 0.20 to 0.21. Or do you mean even different scenarios? Anyhow, a separate issue would be appreciated - thank you!
With #960 we got a big blocker for big CI setups (hundreds of parallel CI jobs) out of the way to use
SimpleCov.collate
and generate a report.We still have plenty of optimization potential left to make SimpleCov faster and more efficient for those setups:
.resultset.json
without going throughSimpleCov::Result
or reducing the overhead ofSimpleCov::Result
massively, #960 already massively reduced how often we instantiate it but as its core we only want to dump the collected coverage data into.resultset.json
which we should be able to do easily without itcollate
should. I'm not even sure if we can specifyformatter nil
orformatters []
right now.