delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2014/11/17/19:45:59

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:message-id:date:from:mime-version:to:subject
:content-type:content-transfer-encoding; q=dns; s=default; b=Wjy
t0h/cZ0emswleEhEhM/uZ7rU/lmPV/R077QzEMCebrC3fISxss0M7EqZF10iEK+L
657etaxmRyjr8adVQQIG102lirMwFnstibHAJEYdOCOxVtu7tjg47R0A4qL1Y9qu
ueZ2ypVx1tKG0e3S2f2xJ7C4NrJfqhbd/zBatprE=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:message-id:date:from:mime-version:to:subject
:content-type:content-transfer-encoding; s=default; bh=CDiNCngOl
XVAOQdMjvd+Hzi1R20=; b=IIcNiHl2NmbPYU4mg4Ub/8JxMa8bu32CA/N0laMME
/UGogknec1ItzWyCLRAAdivL/F1iwNbVac6Cs6XxqRbFIe2ESvC91CqbcA8CGCS0
gvR5ARxWzPDZpesDrji/YCu9lMENLxmDPTfEirGQVS/rVycY7sGTDHC2bIyIaeA7
LU=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS,T_RP_MATCHES_RCVD autolearn=no version=3.3.2
X-HELO: mout.web.de
Message-ID: <546A96B9.5060507@web.de>
Date: Tue, 18 Nov 2014 00:45:45 +0000
From: Olumide <50295 AT web DOT de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: cygwin1.dll and cygstdc++-6.dll account for over 70% of application runtime cost
X-UI-Out-Filterresults: notjunk:1;

According to the AMD CodeXL profiler, the modules cygwin1.dll and 
cygstdc++-6.dll account for 65.67% and 5.13% respectively of the runtime 
of my code. The breakdown is shown below:

Function                          Module                Timer samples 
     Timer samples percent
shmat                             cygwin1.dll            36357 
            37.7186
ZN4muto7releaseEP7_cygtls         cygwin1.dll            19539 
            20.2708
ZN4muto7acquireEm                 cygwin1.dll            16843 
            17.4738
memmove                           cygwin1.dll            7906 
             8.2021
operator new(unsigned int)        cygstdc++-6.dll        6470 
             6.71231
dlfree                            cygwin1.dll            3350 
             3.47546
dlmalloc                          cygwin1.dll            2519 
             2.61334
malloc                            cygwin1.dll            1159 
             1.20241
free                              cygwin1.dll            799 
              0.828924
_gcclibcxx_demangle_callback      cygstdc++-6.dll        277 
              0.287374
__wrap__ZdlPv                     cygwin1.dll            260 
              0.269738
__wrap__Znwj                      cygwin1.dll            239 
              0.247951
operator delete(void*)            cygstdc++-6.dll        236 
              0.244839
malloc                            cygwin1.dll            216 
              0.22409
free                              cygwin1.dll            213 
              0.220977
tmalloc_small(malloc_state*,..)   cygwin1.dll            7 
                0.00726216

As the the performance bottlenecks are shmat, ZN4muto7releaseEP7_cygtls 
and ZN4muto7acquireEm. What do these functions do? I cannot find any 
information about them online. More importantly how might I prevent 
these functions from being called? My guess is that the latter two are 
are lock/unlocking functions associated with memory requests (my guess 
would be the stack, because there are fewer timer samples associated 
with malloc/free etc.

Thanks,

- Olumide


If it matters, my (C++) application is recursive and contains


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019