matthiasnoback / live-code-coverage

Generate code coverage reports on a live server
MIT License
116 stars 8 forks source link

Fix .cov file format #17

Closed adrienbrault closed 3 years ago

adrienbrault commented 3 years ago

I was trying to phpcov merge 2 ~10MB .cov files generated by this package, and noticed it was suspiciously slow: ~3mn.

Now that the .cov files are generated using SebastianBergmann\CodeCoverage\Report\PHP, phpcov merge takes ~4s.

matthiasnoback commented 3 years ago

Very interesting, and nice to hear from you again, Adrien! Do you have some kind of explanation for this improvement? I'll merge anyway, but I'm just curious.

matthiasnoback commented 3 years ago

Released as v1.5.0

adrienbrault commented 3 years ago

Here's the beginning of a .cov prior to this patch:

<?php return unserialize('O:43:"SebastianBergmann\\CodeCoverage\\CodeCoverage":15:{s:51:"' . "\0" . 'SebastianBergmann\\CodeCoverage\\CodeCoverage' . "\0" . 'driver";O:48:"SebastianBergmann\\CodeCoverage\\Driver\\PcovDriver":3:{s:56:"' . "\0" . 'SebastianBergmann\\CodeCoverage\\Driver\\PcovDriver' . "\0" . 'filter";O:37:"SebastianBergmann\\CodeCoverage\\Filter":2:{s:44:"' . "\0" . 'SebastianBergmann\\CodeCoverage\\Filter' . "\0" . 'fil

After:

<?php
return \unserialize('O:43:"SebastianBergmann\CodeCoverage\CodeCoverage":15:{s:51:"SebastianBergmann\CodeCoverage\CodeCoveragedriver";O:48:"SebastianBergmann\CodeCoverage\Driver\PcovDriver":3:{s:56:"SebastianBergmann\CodeCoverage\Driver\PcovDriverfilter";O:37:"SebastianBergmann\CodeCoverage\Filter":2:{s:44:"SebastianBergmann\CodeCoverage\Filterfiles";a:1627:{s:33:"/application/src/App/.preload.php";b:1;s:67:"/application/src/App/A

So I'm assuming that the performance issue was related to the all the string concatenation/etc.

matthiasnoback commented 3 years ago

That makes sense, thanks!