[Dcmlib] valgrind / callgrind / gdcm

Benoit Regrain benoit.regrain at creatis.insa-lyon.fr
Mon May 16 11:32:17 CEST 2005


Tout ceci nous éclaire largement sur le fait que certaines méthodes très
utilisées devraient passer inline... et qu'avoir un ValEntry et un 
BinEntry...
cela ralentit surement un peu le bousin (à prendre en compte pour le
prochain gdcm ;-) )

Benoit


----- Original Message ----- 
From: "Mathieu Malaterre" <mathieu.malaterre at kitware.com>
To: "Mailing list gdcm" <dcmlib at creatis.insa-lyon.fr>
Sent: Tuesday, May 10, 2005 5:14 PM
Subject: [Dcmlib] valgrind / callgrind / gdcm


> Ok,
>
> J'ai fais un petit test sur le prog de JP:
>
> $ valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes -v
> ./bin/TestPrintTime
>
> (gdcm compile' en shared lib + CMAKE_RELEASE:=DEBUG)
>
>
> La plus grosse difference est:
>
> US-GE-4AICL142.dcm   2619 vs  24      with clock time : 2661 vs 25
>
>
> --------------------------------------
>
> Sinon pour l'utilisation de kcachegrind/callgrind (il y a moins d'un an
> ces outils etaient encore appelle kcachegrind et calltree ...). J'admet
> que c'est installe sur vos machines.
>
> La maniere la plus simple d'executer le profiler est de faire:
>
>
> $ valgrind --tool=callgrind ./bin/TestPrintTime
>
> ca va generer un fichier: callgrind.out.'???'  (??? = PID number je crois)
> Ce fichier texte peut etre ouvert avec vim sans probleme mais c'est pas
> vraiment le but. Il vaut mieux utiliser kachegrind qui est une GUI pour
> lire ce genre de fichier.
>
> $ kcachegrind
>
> (par defaut il prend le dernier fichier callgrind.out.??? ecris mais
> juste pour etre parano il vaut mieux detruire tous les fichiers
> callgrind.out.??? avant de lancer un autre profile).
>
> Apres avoir ajuster les differents menus, j'aime bien avoir plein
> d'espace pour la colone de gauche (avec la liste d'appel). On voit que
> tout en haut l'appel principal est 'main' (doh !). C'est celui qui prend
> 99.5% du temps. Juste en dessous j'ai le deuxieme appel qui prends le
> plus de temps : Load. Attention le pourcentage est calculer en fonction
> du temps d'appel et du nombre d'appels (des fois on ne se rend pas
> compte combien de fois peut etre appele un fonction).
>
> Dans la colone de gauche je vois que Load prens 87% du temps, et qu'il
> est appelle 556 fois... il y a de s grande chance que ca corresponde a
> un multiple du nombre de fichiers.
>
> Juste en dessous j'ai dans l'ordre: Load/ParseDES/ReadNextDocEntry.
> ReadNextDocEntry est plus interressant a etudier. Il prend 56.01% du
> temps. Pour une raison simple: il est appeller 94648 fois !
>
>
> Maintenant je clique sur 'ReadNextDocEntry' dans la colonne de gauche.
> Les colones de droite sont mise a jour automatiquement. Et par defaut la
> colone en haut a droite est sur l'onglet 'Source' (enfin je crois). Ca
> permet d'avoir un appercu du source de ReadNextDocEntry. Ce qui de mieux
> encore c'est que kachegrind se place (toujours dans cette colonne) sur
> l'appel le plus couteux de ReadNextDocEntry:
>
>    newEntry = NewValEntry(group, elem, vr);
>
> Si je lis dans la colone en haut a droite, juste en dessous de la ligne
> NewValEntry: je lis
>
> 23.97% du temps est passer sur cet appel
> et il y eu 82022 appel a NewValEntry
>
> A titre de comparaison NewBinEntry (juste en dessous) est:
> 5.5% du temps
> 10966 appels a cette fonction.
>
> Toujours a titre de comparaison, l'appel:
>
> Global::GetVR()->IsVROfStringRepresentable(realVR) prend:
> 5.24% du temps
> 92988 appels a cette fonction
>
> Meme chose :
>    if (vr == GDCM_UNKNOWN)
> represente .51% du temps.
>
>
> J'espere que cette courte introduction vous aidera a prendre en main cet
> outil genial.
>
> Mathieu
>


--------------------------------------------------------------------------------


> ==13138== Callgrind-0.9.11, a call-graph generating cache profiler for 
> x86-linux.
> ==13138== Copyright (C) 2002-2005, and GNU GPL'd, by J.Weidendorfer, 
> N.Nethercote et al.
> ==13138== Using valgrind-2.4.0, a program supervision framework for 
> x86-linux.
> ==13138== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
> ==13138== Valgrind library directory: /usr/lib/valgrind
> ==13138== Command line
> ==13138==    ./bin/TestPrintTime
> ==13138== Startup, with flags:
> ==13138==    --suppressions=/usr/lib/valgrind/debian-libc6-dbg.supp
> ==13138==    --tool=callgrind
> ==13138==    --dump-instr=yes
> ==13138==    --trace-jump=yes
> ==13138==    -v
> ==13138==    --
> ==13138== Contents of /proc/version:
> ==13138==   Linux version 2.6.8-2-686-smp (dilinger at toaster.hq.voxel.net) 
> (gcc version 3.3.5 (Debian 1:3.3.5-6)) #1 SMP Mon Jan 24 02:32:52 EST 2005
> --13138-- warning: Unknown Intel cache config value (0x60), ignoring
> --13138-- warning: Pentium with 12 K micro-op instruction trace cache
> --13138--          Simulating a 16 KB cache with 32 B lines
> ==13138== warning: D1 size of -1024B not a power of two; defaulting to 
> 65536B
> ==13138== warning: D1 associativity of -1 not a power of two; defaulting 
> to 2-way
> ==13138== warning: D1 line size of -1B not a power of two; defaulting to 
> 64B
> ==13138== Cache configuration used:
> ==13138==   I1: 16384B, 8-way, 32B lines
> ==13138==   D1: 65536B, 2-way, 64B lines
> ==13138==   L2: 1048576B, 8-way, 64B lines, sectored
> ==13138== Reading syms from 
> /home/mathieu/Creatis/gdcm-gcc/bin/TestPrintTime (0x8048000)
> ==13138== Reading syms from /lib/ld-2.3.2.so (0x3A965000)
> ==13138==    object doesn't have a symbol table
> ==13138== Reading debug info from /lib/ld-2.3.2.so...
> ==13138== ... CRC mismatch (computed 2E241D1B wanted E15EF064)
> ==13138== Reading debug info from /usr/lib/debug/lib/ld-2.3.2.so...
> ==13138==    object doesn't have any debug info
> ==13138== Reading syms from /usr/lib/valgrind/stage2 (0xB0000000)
> ==13138== Reading syms from /lib/ld-2.3.2.so (0xB1000000)
> ==13138==    object doesn't have a symbol table
> ==13138== Reading debug info from /lib/ld-2.3.2.so...
> ==13138== ... CRC mismatch (computed 2E241D1B wanted E15EF064)
> ==13138== Reading debug info from /usr/lib/debug/lib/ld-2.3.2.so...
> ==13138==    object doesn't have any debug info
> ==13138== Reading syms from /usr/lib/debug/libdl-2.3.2.so (0xB1018000)
> ==13138== Reading syms from /usr/lib/debug/libc-2.3.2.so (0xB101B000)
> ==13138== Reading syms from /usr/lib/valgrind/vgskin_callgrind.so 
> (0xB124F000)
> ==13138==    object doesn't have a symbol table
> ==13138==    object doesn't have any debug info
> ==13138==
> ==13138== Reading syms from /usr/lib/valgrind/vg_inject.so (0x3A97F000)
> ==13138== Reading syms from /home/mathieu/Creatis/gdcm-gcc/bin/libgdcm.so 
> (0x3A984000)
> ==13138== Reading syms from 
> /home/mathieu/Creatis/gdcm-gcc/bin/libgdcmjpeg8.so (0x3AB08000)
> ==13138== Reading syms from 
> /home/mathieu/Creatis/gdcm-gcc/bin/libgdcmjpeg12.so (0x3AB32000)
> ==13138== Reading syms from 
> /home/mathieu/Creatis/gdcm-gcc/bin/libgdcmjpeg16.so (0x3AB5C000)
> ==13138== Reading syms from /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so 
> (0x3AB99000)
> ==13138==    object doesn't have a symbol table
> ==13138==    object doesn't have any debug info
> ==13138== Reading syms from /usr/lib/debug/libm-2.3.2.so (0x3ABE3000)
> ==13138== Reading syms from /usr/lib/debug/libc-2.3.2.so (0x3AC08000)
> ==13138== Reading syms from /usr/lib/debug/libdl-2.3.2.so (0x3AD3C000)
>                SIEMENS_SOMATOM-12-ACR_NEMA-ZeroLengthUs.acr   165 vs  121 
> with clock time : 167 vs 122
>                                    gdcm-MR-SIEMENS-16-2.acr   150 vs  41 
> with clock time : 151 vs 41
>                                         MR-MONO2-12-an2.acr   34 vs  34 
> with clock time : 44 vs 34
>                                                    test.acr   7 vs  6 
> with clock time : 17 vs 6
>                                    CT-MONO2-12-lomb-an2.acr   27 vs  26 
> with clock time : 36 vs 27
>                           SIEMENS_GBS_III-16-ACR_NEMA_1.acr   57 vs  44 
> with clock time : 61 vs 44
>                                         gdcm-ACR-LibIDO.acr   6 vs  6 
> with clock time : 16 vs 6
>                          LIBIDO-8-ACR_NEMA-Lena_128_128.acr   6 vs  6 
> with clock time : 16 vs 6
>                                   MR-MONO2-12-angio-an1.acr   19 vs  19 
> with clock time : 23 vs 19
>                 LEADTOOLS_FLOWERS-16-MONO2-Uncompressed.dcm   84 vs  68 
> with clock time : 90 vs 69
>                     PICKER-16-MONO2-No_DicomV3_Preamble.dcm   28 vs  29 
> with clock time : 38 vs 30
>                                       US-PAL-8-10x-echo.dcm   19 vs  19 
> with clock time : 32 vs 19
>                                         US.irad.27702.1.dcm   21 vs  20 
> with clock time : 23 vs 20
>                     LEADTOOLS_FLOWERS-8-MONO2-JpegLossy.dcm   67 vs  67 
> with clock time : 77 vs 68
>                   LEADTOOLS_FLOWERS-24-RGB-Uncompressed.dcm   68 vs  68 
> with clock time : 73 vs 68
>                                      DermaColorLossLess.dcm   15 vs  14 
> with clock time : 20 vs 15
>                               LIBIDO-16-ACR_NEMA-Volume.dcm   7 vs  7 
> with clock time : 9 vs 7
>                                        D_CLUNIE_VL4_RLE.dcm   20 vs  19 
> with clock time : 31 vs 19
>                                MR_Philips_Intera_Broken.dcm   292 vs  76 
> with clock time : 303 vs 77
>                                       D_CLUNIE_MR3_JPLL.dcm   180 vs  155 
> with clock time : 187 vs 157
>                                                3E768EB7.dcm   53 vs  50 
> with clock time : 64 vs 50
>                                        D_CLUNIE_XA1_RLE.dcm   19 vs  16 
> with clock time : 22 vs 65
>                                       D_CLUNIE_MR3_JPLY.dcm   158 vs  161 
> with clock time : 166 vs 161
>                          LEADTOOLS_FLOWERS-16-MONO2-RLE.dcm   67 vs  62 
> with clock time : 76 vs 63
>          THERALYS-12-MONO2-Uncompressed-E_Film_Template.dcm   37 vs  38 
> with clock time : 43 vs 39
>                                    MR-MONO2-8-16x-heart.dcm   18 vs  18 
> with clock time : 24 vs 19
>                                       D_CLUNIE_RG3_JPLL.dcm   30 vs  30 
> with clock time : 33 vs 31
>                                        D_CLUNIE_CT2_RLE.dcm   31 vs  30 
> with clock time : 42 vs 30
>                                       CT-MONO2-16-brain.dcm   28 vs  27 
> with clock time : 33 vs 27
>                  LEADTOOLS_FLOWERS-8-MONO2-Uncompressed.dcm   67 vs  68 
> with clock time : 73 vs 70
>                                        D_CLUNIE_MR4_RLE.dcm   35 vs  35 
> with clock time : 49 vs 36
>                                       D_CLUNIE_RG3_JPLY.dcm   30 vs  31 
> with clock time : 37 vs 32
>                                       D_CLUNIE_NM1_JPLL.dcm   81 vs  73 
> with clock time : 107 vs 75
>                                FUJI-10-MONO1-ACR_NEMA_2.dcm   22 vs  20 
> with clock time : 25 vs 27
>                             PICKER-16-MONO2-Nested_icon.dcm   258 vs  260 
> with clock time : 320 vs 265
>                            GE_DLX-8-MONO2-PrivateSyntax.dcm   53 vs  43 
> with clock time : 77 vs 45
>                                        D_CLUNIE_RG1_RLE.dcm   32 vs  31 
> with clock time : 43 vs 32
>                                       D_CLUNIE_NM1_JPLY.dcm   79 vs  77 
> with clock time : 84 vs 79
>                                       D_CLUNIE_CT2_JPLL.dcm   35 vs  35 
> with clock time : 42 vs 36
>                                           RadBWLossLess.dcm   15 vs  15 
> with clock time : 20 vs 15
>                                        D_CLUNIE_VL6_RLE.dcm   21 vs  19 
> with clock time : 30 vs 67
>                                           OT-MONO2-8-a7.dcm   10 vs  10 
> with clock time : 18 vs 10
>                      SIEMENS_MAGNETOM-12-MONO2-FileSeq0.dcm   148 vs  41 
> with clock time : 165 vs 42
>                      SIEMENS_MAGNETOM-12-MONO2-FileSeq1.dcm   144 vs  42 
> with clock time : 154 vs 42
>                      SIEMENS_MAGNETOM-12-MONO2-FileSeq2.dcm   145 vs  40 
> with clock time : 157 vs 41
>                      SIEMENS_MAGNETOM-12-MONO2-FileSeq3.dcm   140 vs  42 
> with clock time : 152 vs 42
>                    LEADTOOLS_FLOWERS-8-PAL-Uncompressed.dcm   67 vs  58 
> with clock time : 70 vs 88
>                   PHILIPS_Gyroscan-8-MONO2-Odd_Sequence.dcm   199 vs  50 
> with clock time : 210 vs 50
>                     GE_GENESIS-16-MONO2-WrongLengthItem.dcm   41 vs  41 
> with clock time : 46 vs 41
>                           gdcm-MR-PHILIPS-16-NonRectPix.dcm   129 vs  30 
> with clock time : 137 vs 30
>                           gdcm-JPEG-LossLessThoravision.dcm   39 vs  38 
> with clock time : 49 vs 38
>                      LEADTOOLS_FLOWERS-24-RGB-JpegLossy.dcm   69 vs  69 
> with clock time : 76 vs 69
>                                  ACUSON-24-YBR_FULL-RLE.dcm   38 vs  21 
> with clock time : 47 vs 22
>                                                00191113.dcm   18 vs  19 
> with clock time : 28 vs 19
>                                        gdcm-US-ALOKA-16.dcm   44 vs  24 
> with clock time : 50 vs 25
>                                        D_CLUNIE_RG3_RLE.dcm   26 vs  25 
> with clock time : 33 vs 26
>                                          US-GE-4AICL142.dcm   2619 vs  24 
> with clock time : 2661 vs 25
>              GE_GENESIS-16-MONO2-Uncompressed-UnusualVR.dcm   161 vs  42 
> with clock time : 171 vs 43
>                                         US.irad.28317.1.dcm   20 vs  21 
> with clock time : 27 vs 21
>          THERALYS-12-MONO2-Uncompressed-Even_Length_Tag.dcm   41 vs  40 
> with clock time : 51 vs 40
>                             LEADTOOLS_FLOWERS-8-PAL-RLE.dcm   73 vs  71 
> with clock time : 83 vs 72
>                                    MR-MONO2-12-shoulder.dcm   30 vs  31 
> with clock time : 41 vs 31
>                            gdcm-MR-PHILIPS-16-Multi-Seq.dcm   1162 vs  44 
> with clock time : 1184 vs 45
>                        gdcm-CR-DCMTK-16-NonSamplePerPix.dcm   12 vs  12 
> with clock time : 23 vs 12
>                                       D_CLUNIE_MR4_JPLL.dcm   38 vs  39 
> with clock time : 43 vs 40
>                                       CT-MONO2-16-chest.dcm   30 vs  31 
> with clock time : 42 vs 33
>                                       D_CLUNIE_MR4_JPLY.dcm   41 vs  41 
> with clock time : 51 vs 42
>                                        D_CLUNIE_VL1_RLE.dcm   21 vs  19 
> with clock time : 30 vs 19
>                                        MR-MONO2-16-head.dcm   36 vs  37 
> with clock time : 43 vs 37
>                                ALOKA_SSD-8-MONO2-RLE-SQ.dcm   27 vs  29 
> with clock time : 41 vs 31
>                                          XA_GE_DLX_xadc.dcm   66 vs  42 
> with clock time : 81 vs 43
>                                        D_CLUNIE_MR1_RLE.dcm   34 vs  32 
> with clock time : 40 vs 33
>                                        D_CLUNIE_US1_RLE.dcm   23 vs  21 
> with clock time : 33 vs 22
>                      CT-SIEMENS-Icone-With-PaletteColor.dcm   53 vs  42 
> with clock time : 64 vs 43
>                                       US-RGB-8-esopecho.dcm   18 vs  17 
> with clock time : 28 vs 17
>                         US-IRAD-NoPreambleStartWith0003.dcm   20 vs  20 
> with clock time : 31 vs 20
>                      PHILIPS_Intera-16-MONO2-Uncompress.dcm   259 vs  76 
> with clock time : 270 vs 76
>                         US-IRAD-NoPreambleStartWith0005.dcm   20 vs  19 
> with clock time : 30 vs 20
>                                        D_CLUNIE_VL3_RLE.dcm   20 vs  19 
> with clock time : 26 vs 19
>                     SIEMENS-12-Jpeg_Process_2_4-Lossy-a.dcm   55 vs  55 
> with clock time : 67 vs 56
>                                 XA-MONO2-8-12x-catheter.dcm   19 vs  19 
> with clock time : 19 vs 19
>                           LEADTOOLS_FLOWERS-8-MONO2-RLE.dcm   71 vs  71 
> with clock time : 82 vs 71
>                                        US-RGB-8-epicard.dcm   17 vs  17 
> with clock time : 24 vs 17
>                                       CT-MONO2-16-ankle.dcm   22 vs  23 
> with clock time : 33 vs 22
>                                        D_CLUNIE_CT1_RLE.dcm   141 vs  129 
> with clock time : 152 vs 130
>                                        D_CLUNIE_MR3_RLE.dcm   158 vs  154 
> with clock time : 170 vs 158
>       MARCONI_MxTWin-12-MONO2-JpegLossless-ZeroLengthSQ.dcm   46 vs  475 
> with clock time : 53 vs 483
>                                MR_Philips_Intera_Kosher.dcm   266 vs  84 
> with clock time : 276 vs 85
>                                       D_CLUNIE_MR1_JPLL.dcm   37 vs  37 
> with clock time : 47 vs 38
>                     GE_RHAPSODE-16-MONO2-JPEG-Fragments.dcm   126 vs  135 
> with clock time : 137 vs 141
>                                       D_CLUNIE_MR1_JPLY.dcm   40 vs  37 
> with clock time : 42 vs 38
>                                       D_CLUNIE_MG1_JPLL.dcm   31 vs  30 
> with clock time : 42 vs 31
>           PHILIPS_Gyroscan-12-Jpeg_Extended_Process_2_4.dcm   155 vs  124 
> with clock time : 168 vs 126
>                                        D_CLUNIE_MG1_RLE.dcm   25 vs  23 
> with clock time : 37 vs 24
>                                       D_CLUNIE_RG1_JPLL.dcm   37 vs  37 
> with clock time : 48 vs 38
>                                          012345.002.050.dcm   160 vs  43 
> with clock time : 167 vs 43
>                                       D_CLUNIE_MG1_JPLY.dcm   32 vs  31 
> with clock time : 38 vs 32
>                                        D_CLUNIE_VL5_RLE.dcm   21 vs  19 
> with clock time : 30 vs 19
>                  ACUSON-24-YBR_FULL_422-Jpeg_Baseline_1.dcm   35 vs  26 
> with clock time : 46 vs 26
>                                         CT-MONO2-8-abdo.dcm   14 vs  15 
> with clock time : 20 vs 16
>                                           OT-PAL-8-face.dcm   12 vs  14 
> with clock time : 17 vs 14
>                                      gdcm-JPEG-Extended.dcm   48 vs  46 
> with clock time : 58 vs 48
>                 PHILIPS_Gyroscan-12-MONO2-Jpeg_Lossless.dcm   170 vs  46 
> with clock time : 193 vs 46
>                            LIBIDO-24-ACR_NEMA-Rectangle.dcm   7 vs  6 
> with clock time : 17 vs 6
>                                        D_CLUNIE_RG2_RLE.dcm   24 vs  23 
> with clock time : 34 vs 23
>                          GE_LOGIQBook-8-RGB-HugePreview.dcm   1701 vs  27 
> with clock time : 1735 vs 27
>                   PHILIPS_Integris_H-8-MONO2-Multiframe.dcm   45 vs  38 
> with clock time : 57 vs 39
>                                         CT-MONO2-16-ort.dcm   30 vs  30 
> with clock time : 41 vs 30
>                                       D_CLUNIE_SC1_JPLL.dcm   25 vs  24 
> with clock time : 35 vs 24
>                                       D_CLUNIE_SC1_JPLY.dcm   27 vs  27 
> with clock time : 33 vs 27
>                     gdcm-JPEG-Extended-Allready_present.dcm   49 vs  48 
> with clock time : 61 vs 49
>                   SIEMENS_MAGNETOM-12-ACR_NEMA_2-Modern.dcm   141 vs  43 
> with clock time : 153 vs 43
>                                       D_CLUNIE_MR2_JPLL.dcm   40 vs  40 
> with clock time : 47 vs 40
>                 GE_DLX-8-MONO2-Multiframe-Jpeg_Lossless.dcm   76 vs  52 
> with clock time : 87 vs 53
>                                        D_CLUNIE_NM1_RLE.dcm   73 vs  72 
> with clock time : 84 vs 73
>                                       D_CLUNIE_MR2_JPLY.dcm   42 vs  42 
> with clock time : 53 vs 41
>                 LEADTOOLS_FLOWERS-16-MONO2-JpegLossless.dcm   67 vs  69 
> with clock time : 77 vs 69
>                                       D_CLUNIE_RG2_JPLL.dcm   27 vs  28 
> with clock time : 30 vs 29
>                   LEADTOOLS_FLOWERS-24-RGB-JpegLossless.dcm   68 vs  67 
> with clock time : 75 vs 82
>                                       D_CLUNIE_XA1_JPLL.dcm   21 vs  23 
> with clock time : 32 vs 24
>                                ACUSON-24-YBR_FULL-RLE-b.dcm   38 vs  22 
> with clock time : 50 vs 23
>                     ACUSON-8-YBR_FULL-JPEG-TrailingInfo.dcm   40 vs  25 
> with clock time : 51 vs 25
>                                       D_CLUNIE_RG2_JPLY.dcm   30 vs  32 
> with clock time : 41 vs 32
>              SIEMENS_Sonata-16-MONO2-Value_Multiplicity.dcm   49 vs  42 
> with clock time : 60 vs 43
>                  KODAK-12-MONO1-Odd_Terminated_Sequence.dcm   24 vs  23 
> with clock time : 34 vs 24
>                                       D_CLUNIE_XA1_JPLY.dcm   23 vs  22 
> with clock time : 28 vs 23
>                                       CR-MONO1-10-chest.dcm   19 vs  18 
> with clock time : 29 vs 19
>                                        D_CLUNIE_SC1_RLE.dcm   21 vs  18 
> with clock time : 32 vs 19
>                      TOSHIBA_MRT150-16-MONO2-ACR_NEMA_2.dcm   26 vs  26 
> with clock time : 36 vs 26
>                                       D_CLUNIE_CT1_JPLL.dcm   134 vs  133 
> with clock time : 146 vs 136
>                                        D_CLUNIE_VL2_RLE.dcm   18 vs  11 
> with clock time : 28 vs 11
>                                    US-MONO2-8-8x-execho.dcm   18 vs  19 
> with clock time : 18 vs 19
>                              SIEMENS_Sonata-12-MONO2-SQ.dcm   53 vs  45 
> with clock time : 65 vs 46
>                                    gdcm-JPEG-LossLess3a.dcm   45 vs  45 
> with clock time : 55 vs 45
>                  PHILIPS_Integris_V-10-MONO2-Multiframe.dcm   42 vs  33 
> with clock time : 54 vs 33
>                  SIEMENS_MAGNETOM-12-MONO2-Uncompressed.dcm   132 vs  120 
> with clock time : 141 vs 122
>                                   NM-MONO2-16-13x-heart.dcm   22 vs  23 
> with clock time : 33 vs 23
>                               GE_DLX-8-MONO2-Multiframe.dcm   70 vs  47 
> with clock time : 81 vs 47
>                                        D_CLUNIE_MR2_RLE.dcm   35 vs  34 
> with clock time : 41 vs 34
> ---------------------------------------------------
> 13637            6586
> ---------------------------------------------------
> ==13138==
> --13138-- Start dumping at BB 1119478324 (Prg.Term.)...
> --13138-- Dump to /home/mathieu/Creatis/gdcm-gcc/callgrind.out.13138
> --13138-- Dumping done.
> --13138--
> --13138-- Distinct objects: 11
> --13138-- Distinct files:   148
> --13138-- Distinct fns:     4552
> --13138-- Distinct contexts:4552
> --13138-- Distinct BBs:     9848
> --13138-- Cost entries:     8374 (Chunks 1)
> --13138-- Distinct BBCCs:   11476
> --13138-- Distinct JCCs:    8634
> --13138-- Distinct skips:   2271
> --13138-- BB lookups:       9848
> --13138-- With full      debug info: 52% (5151)
> --13138-- With file/line debug info:  0% (49)
> --13138-- With fn name   debug info: 18% (1807)
> --13138-- With no        debug info: 28% (2841)
> --13138-- BBCC Clones:       1628
> --13138-- BBs Retranslated:  0
> --13138-- Distinct instrs:   50063
> --13138--
> --13138-- LRU Contxt Misses: 4552
> --13138-- LRU BBCC Misses:   1952
> --13138-- LRU JCC Misses:    138976
> --13138-- BBs Executed:      1119478324
> --13138-- Calls:             259832223
> --13138-- CondJMP followed:  132082098
> --13138-- Boring JMPs:       229462050
> --13138-- Recursive calls:   817072
> --13138-- Returns:           259832223
> --13138--
> ==13138== Events    : Ir
> ==13138== Collected : 5343647855
> ==13138==
> ==13138== I   refs:      5,343,647,855
> --13138--     TT/TC: 0 tc sectors discarded.
> --13138--            6966680 tt_fast misses.
> --13138-- translate: new     9848 (148840 -> 1116450; ratio 75:10)
> --13138--            discard 0 (0 -> 0; ratio 0:10).
> --13138-- chainings: 7434 chainings, 0 unchainings.
> --13138--  dispatch: 1119500713 jumps (bb entries); of them 402393954 
> (35%) unchained.
> --13138--            22390/7598555 major/minor sched events.
> --13138-- reg-alloc: 60 t-req-spill, 274682+172 orig+spill uis,
> --13138--            34283 total-reg-rank
> --13138--    sanity: 22391 cheap, 896 expensive checks.
> --13138--    ccalls: 9848 C calls, 100% saves+restores avoided (59088 
> bytes)
> --13138--            9848 args, avg 0.0 setup instrs each (19696 bytes)
> --13138--            0% clear the stack (29544 bytes)
> --13138--            0 retvals, 100% of reg-reg movs avoided (0 bytes)
>


--------------------------------------------------------------------------------


> _______________________________________________
> Dcmlib mailing list
> Dcmlib at creatis.insa-lyon.fr
> http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib 




More information about the Dcmlib mailing list