From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: Tooltips GC overhead Date: Thu, 30 Jul 2015 09:08:13 +0200 Message-ID: <55B9CD5D.8040302@gmx.at> References: <55B7796B.3070005@gmx.at> <55B87E3F.80708@gmx.at> <55B8E367.9020201@cs.ucla.edu> <55B8F3E9.5000707@gmx.at> <833806yld0.fsf@gnu.org> <55B915CE.7070803@gmx.at> <55B94267.5050208@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1438240127 20459 80.91.229.3 (30 Jul 2015 07:08:47 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 30 Jul 2015 07:08:47 +0000 (UTC) Cc: emacs-devel@gnu.org To: Paul Eggert Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jul 30 09:08:40 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZKhxH-0003YS-Aw for ged-emacs-devel@m.gmane.org; Thu, 30 Jul 2015 09:08:39 +0200 Original-Received: from localhost ([::1]:38309 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZKhxB-0005EC-Hz for ged-emacs-devel@m.gmane.org; Thu, 30 Jul 2015 03:08:33 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54967) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZKhx7-0005E6-2K for emacs-devel@gnu.org; Thu, 30 Jul 2015 03:08:30 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZKhx2-0006c0-1Q for emacs-devel@gnu.org; Thu, 30 Jul 2015 03:08:28 -0400 Original-Received: from mout.gmx.net ([212.227.15.19]:60653) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZKhx1-0006bE-O6 for emacs-devel@gnu.org; Thu, 30 Jul 2015 03:08:23 -0400 Original-Received: from [93.82.15.176] ([93.82.15.176]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0LaG7C-1Yc2zl39qA-00m7Mv; Thu, 30 Jul 2015 09:08:19 +0200 In-Reply-To: <55B94267.5050208@cs.ucla.edu> X-Provags-ID: V03:K0:9h7CLB8OvCqIt/LS7VARWWeP6X9ws9Eqa9Yv0OSef5yQnvP30RS 4SUm8xVtTuUFKe7dD0vnR2AKtHgD+Gw0Zg03XweeumInsCinBJMpF/p6hGd3m0J5yYJxXjQ jLBWrB+D+VflXj49ISd74X8KrzsGfCyA90dxohTxbkslItX3y5F2hu/Pt9+1ZiBcUdSwkgv jjaDqKpGGD1UytDJhl5qQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:sAd/YJJzvjY=:pftEmIHKanuqur3iSEMhcd iWUQ421DkOVJoT86NOPASoKL6ZDwmI/Xs0unmUu1YcLeS+oLtorxdJpF02aWjn7Gn5naeA/f/ XoylqRqlfanNM/xvgHHQR3psCrUQNV8IJdmQ06UvKa5oMufyPjU6LSJFyVaPEW+A8c/AAznmm geQei9jCC8ADSSFT++HqRaZeSq9h96rjPvjAVBEUxI976INoIyCr+I6btYn6mqkmTnQhGaKo5 vV8o7dsHQbBFgVMyG/aEg0SVlemUqzfZqydV46ofRF760Cu6ZVEzvDgHgP7h/tTNTV1nTSQAT vsi6eZSYPypPb1wQkK3d8VsP4j6Z+8/W3TIdHn8YBNNdJkVHtExMRc7co2v9mqFX/wkNk1dJB Qv84oayZMvs06rO7AeRcrZQlq6cot5M6/7UbQcMUXvGe/KmILSzotkwzy7fmfrPX3mCyEG9G2 Q4qgmw0WKcnOwRPwHv4aOoCU3rjYqwB9CncOL3JRTjPXp5zQuaLVGaYzty1Ir5jWDKj1CRY49 qJumK2QNkI8m8cUQhGcKIbDYT/1LpGuyk9RY6aDjIUjaf04USMwRqDlj7AGlTUaO0O5vwGPCp MyPzQfXS9PnIs3taEveG+pGvgX8gkIAhGhQfr5S1Kh7Ved6tvTnDYm1WmAk3FhXUayYdF9XQ5 nhOJ1wTzsBSFdBqwtlfI/s3gAoWBmRS1mHpmrxkWLm1jSJml97oBnA+tue3nfcfggFXo= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-Received-From: 212.227.15.19 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:188186 Archived-At: > I can't reproduce your problem on Fedora 21, configured with gcc 5.1.0 > -m32 and --without-imagemagick (ImageMagick breaks the build on my > native x86-64 platform due to library incompatibilities) and running > emacs -Q. When I tried profiler-start with mem, then letting tooltips > show over the modeline, then running profiler-report, I got the > following, which seems benign. > > - command-execute 985,993 99% > - call-interactively 985,993 99% > - funcall-interactively 984,565 99% > - execute-extended-command 984,565 99% > - command-execute 949,171 96% > - call-interactively 949,171 96% > - funcall-interactively 949,163 96% > - profiler-report 943,516 95% > - profiler-report-memory 943,516 95% > profiler-memory-profile 943,516 95% > - profiler-start 5,647 0% > message 1,535 0% I was able to reproduce something comparable here on Windows (in a --with-wide-int build): - command-execute 1,572,084 96% - call-interactively 1,572,084 96% - funcall-interactively 1,529,090 94% - execute-extended-command 1,246,749 76% - command-execute 1,071,389 66% - call-interactively 1,071,389 66% - funcall-interactively 1,071,381 66% - profiler-report 1,071,381 66% - profiler-report-memory 1,071,381 66% - profiler-memory-profile 936,852 57% profiler-make-profile 1,560 0% + profiler-report-profile-other-window 134,529 8% + execute-extended-command--shorter 117,026 7% + sit-for 40,850 2% delete-other-windows 274,505 16% + next-line 7,836 0% + byte-code 42,994 2% + redisplay_internal (C function) 41,588 2% + timer-event-handler 5,220 0% + tooltip-show-help 2,088 0% mouse-fixup-help-message 1,499 0% ... 0 0% I suppose you didn't wait until the tooltips really showed up. When I do wait I get something like: - timer-event-handler 15,930,094 28% - apply 15,925,918 28% - tooltip-timeout 15,924,874 28% - run-hook-with-args-until-success 15,924,874 28% - tooltip-help-tips 15,924,874 28% - tooltip-show 15,924,874 28% - x-show-tip 675,546 3% - face-set-after-frame-default 637,389 3% - face-spec-recalc 629,704 3% + face-spec-reset-face 605,688 3% + face-spec-set-2 11,040 0% + face-spec-choose 7,756 0% face-list 4,176 0% jit-lock-context-fontify 1,044 0% + timer-inc-time 3,132 0% + command-execute 1,396,925 7% + redisplay_internal (C function) 660,432 3% + tooltip-show-help 5,220 0% + frame-windows-min-size 1,044 0% + eldoc-schedule-timer 1,044 0% ... 0 0% and after another attempt: + timer-event-handler 16,921,522 -22% + command-execute 1,934,186 9% + redisplay_internal (C function) 1,081,661 5% + # 189,536 0% + mouse-fixup-help-message 12,528 0% + clear-transient-map 6,820 0% + tooltip-show-help 5,220 0% + clear-transient-map 4,492 0% gui-set-selection 1,044 0% + eldoc-schedule-timer 1,044 0% ... 0 0% So the percentages apparently get wrong over time, maybe due to some overflow. But I'm quite sure that the backtrace unifying algorithm (`profiler-calltree-build-unified') is inherently broken. I'm not sure though whether there's any chance to fix that in the first place. martin