emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Samuel Wales <samologist@gmail.com>
To: Samuel Wales <samologist@gmail.com>,
	emacs-orgmode <emacs-orgmode@gnu.org>
Subject: Re: [bug] canonical context not work in 8.3
Date: Fri, 7 Aug 2015 13:27:37 -0700	[thread overview]
Message-ID: <CAJcAo8v2tKRHzviJtf6gb1SiD6Mz5o55+0679ZuRXYLkFrzDSw@mail.gmail.com> (raw)
In-Reply-To: <8737zvfpvc.fsf@nicolasgoaziou.fr>

thank you.

i compiled it and tried it.  it seems improved, to maybe 2.5s.

- command-execute                                               17977  99%
 - call-interactively                                           17977  99%
  - org-agenda-switch-to                                        16144  88%
   - org-show-context                                           16142  88%
    - org-show-set-visibility                                   16142  88%
     - show-children                                            16042  88%
      - org-map-region                                          15617  86%
       - #<compiled 0x1220ff9>                                   6905  38%
          org-outline-level                                      1780   9%
        - outline-flag-region                                      12   0%
           remove-overlays                                          4   0%
         outline-next-heading                                    4381  24%
        org-end-of-subtree                                        401   2%
       org-up-heading-safe                                         72   0%
     - org-show-entry                                              16   0%
      + byte-code                                                  16   0%
     + org-flag-heading                                             4   0%
     org-mark-ring-push                                             2   0%
  - #<compiled 0xc259e3>                                         1189   6%
   - org-agenda                                                  1189   6%
    - byte-code                                                  1189   6%
     - org-let                                                   1189   6%
      - eval                                                     1189   6%
       - let                                                     1189   6%
        - org-agenda-list                                        1189   6%
         - byte-code                                             1185   6%
          - org-agenda-prepare                                    625   3%
           - org-agenda-prepare-buffers                           618   3%
            - byte-code                                           618   3%
             + org-refresh-category-properties                    262   1%
             + org-refresh-stats-properties                       184   1%
             + org-set-regexps-and-options                         40   0%
             + org-refresh-effort-properties                       36   0%
               org-refresh-properties                              32   0%
          + byte-code                                             440   2%
          + org-agenda-finalize-entries                           104   0%
          + org-agenda-finalize                                     8   0%
  - org-agenda-next-line                                          287   1%
   - org-agenda-do-context-action                                 273   1%
    - org-display-outline-path                                    273   1%
     + org-get-outline-path                                       241   1%
     + org-unlogged-message                                        24   0%
     + org-format-outline-path                                      8   0%
   + call-interactively                                            13   0%
  + ido-hacks-execute-extended-command                            189   1%


On 8/7/15, Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
> Samuel Wales <samologist@gmail.com> writes:
>
>> thank you for fixing.
>>
>> canonical is always what i want, except for occur-tree.
>>
>> i did profiler-start then went to org file a few times to average out
>> the results.  did i use the correct profiler?
>
> You did.
>>
>>  command-execute                                               60148  99%
>>  - call-interactively                                           60148
>> 99%
>>   - org-agenda-switch-to                                        59299
>> 98%
>>    - org-show-context                                           59299
>> 98%
>>     - org-show-set-visibility                                   59299
>> 98%
>>      - show-children                                            59170
>> 97%
>>       - outline-end-of-subtree                                  35938
>> 59%
>>          outline-next-heading                                    9399
>> 15%
>>          org-outline-level                                       4047
>> 6%
>>       - outline-map-region                                      23168
>> 38%
>>        + #<compiled 0xfc19ab>                                    9558
>> 15%
>>          outline-next-heading                                    7399
>> 12%
>>      + org-up-heading-safe                                        117
>> 0%
>>      + org-show-entry                                               4
>> 0%
>>      + org-flag-heading                                             4
>> 0%
>
> `show-children' is the culprit.
>
> Could you evaluate the following function and time it again?
>
>   (defun show-children (&optional level)
>     (save-excursion
>       (org-back-to-heading t)
>       (let* ((current-level (funcall outline-level))
>              (level (if level (+ (prefix-numeric-value level)
> current-level)
>                       (save-excursion
>                         (outline-next-heading)
>                         (if (eobp) current-level (funcall
> outline-level))))))
>         (org-map-region
>          (lambda ()
>            (when (<= (funcall outline-level) level)
>              (outline-flag-region (if (bobp) (point) (1- (point)))
>                                   (line-end-position)
>                                   nil)))
>          (point)
>          (org-end-of-subtree t t)))))
>
> Thank you.
>
>
> Regards,
>


-- 
The Kafka Pandemic: http://thekafkapandemic.blogspot.com

Ramsay's disease DOES progress.  MANY people have died from it.  And
ANYBODY can get it.

Denmark: free Karina Hansen NOW.

  reply	other threads:[~2015-08-07 20:27 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-06 23:10 [bug] canonical context not work in 8.3 Samuel Wales
2015-08-07  0:16 ` Nicolas Goaziou
2015-08-07  1:38   ` Samuel Wales
2015-08-07  8:45     ` Nicolas Goaziou
2015-08-07 20:27       ` Samuel Wales [this message]
2015-08-08  8:07         ` Nicolas Goaziou
2015-08-08  9:19           ` Nicolas Goaziou
2015-08-09 18:53             ` Samuel Wales
2015-08-10 11:39               ` Nicolas Goaziou
2015-08-10 18:31                 ` Samuel Wales
2015-08-10 21:39                   ` Nicolas Goaziou

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJcAo8v2tKRHzviJtf6gb1SiD6Mz5o55+0679ZuRXYLkFrzDSw@mail.gmail.com \
    --to=samologist@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).