PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > comp.lang.cplus > Performance and Profiling
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Performance and Profiling

Réponse
 
LinkBack Outils de la discussion
Vieux 24/12/2007, 09h11   #1
Chun
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Performance and Profiling

Hello,

I've written a dll and compiled with gcc in mingw environment. Running
the profiling on it I get the following output (extract). My question
is what is the first entry that is taking 47% of the time?

void std::__uninitialized_fill_n_aux<fieldptr*, unsigned int,
fieldptr>(fieldptr*, unsignd int, fieldptr const&, std::__false_type)

Any pointers on how to reduce this time? I'm guessing it has something
to do with templates and gcc. Is there a alternative std C++ library
which does this quicker? - which has support on mingw and linux.

$ gprof ama.dll gmon.out -p
Flat profile:

Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
43.07 0.59 0.59 78552 0.01 0.01 void
std::__uninitialized_fill_n_aux<fieldptr*, unsigned int,
fieldptr>(fieldptr*, unsignd int, fieldptr const&, std::__false_type)
7.30 0.69 0.10 279600 0.00 0.00 Ama_ExtractField
6.57 0.78 0.09
_Unwind_SjLj_Register
5.84 0.86 0.08
_Unwind_SjLj_Unregister
5.11 0.93 0.07
std::string::append(char const*, unsigned int)
3.65 0.98 0.05
std::num_put<char, std:streambuf_iterator<char,
std::char_traits<char> > >::do_put(stdstreambuf_iterator<char,
std::char_traits<char> >, std::ios_base&, char, unsigned long) const
3.65 1.03 0.05
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::basic_string(std:string const&)

2.92 1.07 0.04 585792 0.00 0.00
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
std:perator+<cha, std::char_traits<char>, std::allocator<char>
>(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, char const*)

2.92 1.11 0.04
std::string::assign(std::string const&)
2.92 1.15 0.04 operator
new(unsigned int)
2.19 1.18 0.03 78552 0.00 0.01
ama::addfields(int)
2.19 1.21 0.03 Ama_CmdGetRec
2.19 1.24 0.03
std::string::_Rep::_M_clone(std::allocator<char> const&, unsigned int)
1.46 1.26 0.02 78552 0.00 0.01
std::vector<fieldptr, std::allocator<fieldptr>
>::_M_fill_assign(unsigned int, fieldptr cnst&)

1.46 1.28 0.02
std::string::_Rep::_M_destroy(std::allocator<char> const&)
1.46 1.30 0.02
std::string::reserve(unsigned int)
1.46 1.32 0.02
std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::flush()

Michael
  Réponse avec citation
Vieux 24/12/2007, 10h28   #2
Erik Wikström
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Performance and Profiling

On 2007-12-24 10:11, Chun wrote:
> Hello,
>
> I've written a dll and compiled with gcc in mingw environment. Running
> the profiling on it I get the following output (extract). My question
> is what is the first entry that is taking 47% of the time?
>
> void std::__uninitialized_fill_n_aux<fieldptr*, unsigned int,
> fieldptr>(fieldptr*, unsignd int, fieldptr const&, std::__false_type)
>
> Any pointers on how to reduce this time? I'm guessing it has something
> to do with templates and gcc. Is there a alternative std C++ library
> which does this quicker? - which has support on mingw and linux.


This if off-topic by the way. You are looking at the wrong values, the
ones you should be interested in are those in cumulative column, the
function you listed (__uninitialized_fill_n_aux) is just a er
function used by the some standard library functions. What you should be
looking for is those functions that you call in your code, then try to
figure out a way to do the same thing with smarter usages of the same or
other functions.

--
Erik Wikström
  Réponse avec citation
Vieux 25/12/2007, 00h17   #3
Michael
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Performance and Profiling

On Dec 24, 6:28 pm, Erik Wikström <Erik-wikst...@telia.com> wrote:
> On 2007-12-24 10:11, Chun wrote:
>
> > Hello,

>
> > I've written a dll and compiled with gcc in mingw environment. Running
> > the profiling on it I get the following output (extract). My question
> > is what is the first entry that is taking 47% of the time?

>
> > void std::__uninitialized_fill_n_aux<fieldptr*, unsigned int,
> > fieldptr>(fieldptr*, unsignd int, fieldptr const&, std::__false_type)

>
> > Any pointers on how to reduce this time? I'm guessing it has something
> > to do with templates and gcc. Is there a alternative std C++ library
> > which does this quicker? - which has support on mingw and linux.

>
> This if off-topic by the way. You are looking at the wrong values, the
> ones you should be interested in are those in cumulative column, the
> function you listed (__uninitialized_fill_n_aux) is just a er
> function used by the some standard library functions. What you should be
> looking for is those functions that you call in your code, then try to
> figure out a way to do the same thing with smarter usages of the same or
> other functions.
>
> --
> Erik Wikström


Thanks Erik. Do you know which group this question belongs to?

Michael
  Réponse avec citation
Vieux 25/12/2007, 01h18   #4
red floyd
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Performance and Profiling

Michael wrote:
> On Dec 24, 6:28 pm, Erik Wikström <Erik-wikst...@telia.com> wrote:
>> On 2007-12-24 10:11, Chun wrote:
>>
>>> Hello,
>>> I've written a dll and compiled with gcc in mingw environment. Running
>>> the profiling on it I get the following output (extract).


>> This if off-topic by the way. You are looking at the wrong values, the
>> ones you should be interested in are those in cumulative column, the
>> function you listed (__uninitialized_fill_n_aux) is just a er
>> function used by the some standard library functions. What you should be
>> looking for is those functions that you call in your code, then try to
>> figure out a way to do the same thing with smarter usages of the same or
>> other functions.


> Thanks Erik. Do you know which group this question belongs to?


Try gnu.g++.
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 17h34.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,13377 seconds with 12 queries