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: List-Subscribe: List-Archive: List-Post: List-Help: , 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 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit 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