[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