[Dcmlib] [Gdcm2] Some benchmarks

Mathieu Malaterre mathieu.malaterre at gmail.com
Tue Aug 8 08:09:34 CEST 2006


Ok I have been playing with GDCM2 now that API is stable.

Here are some results, that I ran on TestReader (basically just
reading the DICOM file without decompressing the PixelData).

There are three case (1), (2) and (3) basically going from one to the
other divide the time by two. The last one being the closest to GDCM1:
TestLoadAllDocumentsNoPrivNoSeq. Which on my machine runs in 0.299s.
So basically the ration is 0.300/0.060=5. GDCM2 can be up to 5 times
faster. For some reason I remembered GDCM1 being much slower...maybe
my memory is not working as well it should. Anyway 5 times faster
remains a decent improvement.

Enjoy,
Mathieu


Using ByteValue::resize and reading everything
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.09s user 0.14s system 99% cpu 0.229 total
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.11s user 0.12s system 98% cpu 0.231 total
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.10s user 0.13s system 99% cpu 0.230 total
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.09s user 0.14s system 100% cpu 0.232 total
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.11s user 0.12s system 99% cpu 0.234 total
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.11s user 0.12s system 97% cpu 0.233 total


Using ByteValue::reserve and reading everything

mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.04s user 0.07s system 92% cpu 0.122 total
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.05s user 0.06s system 93% cpu 0.120 total
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.06s user 0.06s system 100% cpu 0.116 total
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.05s user 0.06s system 96% cpu 0.120 total


Using ByteValue::reserve and skipping anything bigger that 0xfff (old GDCM1)
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.03s user 0.03s system 98% cpu 0.057 total
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.04s user 0.02s system 93% cpu 0.056 total
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.02s user 0.03s system 93% cpu 0.060 total
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.02s user 0.03s system 88% cpu 0.063 total
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.04s user 0.02s system 93% cpu 0.060 total
mathieu at smallfry $ time
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader >&
/tmp/log                             ~/Projects/GDCM/gdcm/bin3
/home/mathieu/Projects/GDCM/gdcm/bin3/bin/gdcmDSEDTests TestReader
>&/tmp/log  0.02s user 0.03s system 87% cpu 0.059 total

-- 
Mathieu

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Gdcm-developers mailing list
Gdcm-developers at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gdcm-developers



More information about the Dcmlib mailing list