From: Nathan J. <nr...@gm...> - 2005-06-10 01:37:10
|
Hi, It appears to me, though I haven't looked at the code, that every time the cobertura.ser file is touched by a test for instrumentation the entire file is read in, updated and then written back to disk. This seems to be a hug performance hit when compared to running the test without instrumentation. (in our case about 6-7 times slower, on a build that take 15 minutes without instrumentation this makes it a very long build cycle.) Would it perhaps make more sense to append instrumentation data to the cobertura.ser file (may need to be done a different way if cobertura.ser is a serialized object(s)) and then process all this data at reporting time to aggregate it into class statistics? In other words for each test, when it reads in cobertura.ser and writes it, it creates its own data either appended or in a separate file, and these are all then merged at reporting time. This would reduce disk access and speed up the testing phase and move some of the overhead to when the reporting is done. I suppose one possibility is to make use of different cobertura.ser files for each module and merge them at the end? Would appreciate any comments you might have. Nathan Johns |