ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Rik Kabel via ntg-context <ntg-context@ntg.nl>
To: Hans Hagen via ntg-context <ntg-context@ntg.nl>
Cc: Rik Kabel <rik@panix.com>
Subject: Re: directsetup vs setups
Date: Mon, 15 Nov 2021 13:06:49 -0500	[thread overview]
Message-ID: <9ca345bf-bcb7-0e13-262e-830563326384@panix.com> (raw)
In-Reply-To: <c3886125-3ca7-009e-d380-545c729c3dff@xs4all.nl>


[-- Attachment #1.1: Type: text/plain, Size: 2592 bytes --]


On 2021-11-15 04:38, Hans Hagen via ntg-context wrote:
> On 11/15/2021 6:24 AM, Rik Kabel via ntg-context wrote:
>> Hello list,
>>
>> Can anyone provide a description of, or a point to a description of, 
>> the differences between setups= and directsetup= for including 
>> setups? I searched the list archive and the documents and found 
>> nothing. (That may indicate my level of search foo, but nonetheless I 
>> am in need of help with this.)
> \setup      : takes a list ({...} or [...])
> \directsetup: supports gridsnapping, only one setup
> \fastsetup  : the fastest, only one setup
>
> concerning performance, i wonder if you'll notice it
>
> \starttext
>     \startsetups test
>     \stopsetups
>
>     \testfeatureonce{100000}{\setup      {test}} \elapsedtime \par
>     \testfeatureonce{100000}{\setup      [test]} \elapsedtime \par
>     \testfeatureonce{100000}{\directsetup{test}} \elapsedtime \par
>     \testfeatureonce{100000}{\fastsetup  {test}} \elapsedtime \par
> \stoptext
>
> because often what's done in the setup is taking the time, just test
>
>     \startsetups test
>         {\bf}
>     \stopsetups
>
> you can volunteer to wikify it
>
> Hans
Happy to wikify once I understand it.

On your empty performance test, I get around 0.10, .11, .08 for direct, 
and 0.4 for fast. With the grouped styling, those balloon to 0.50, 0.56, 
0.48, and 0.44.

So, some follow-up questions:

 1. What do you mean by "only one setup" in the description of
    directsetup and fastsetup? I have examples of using two different
    directsetup in one after key, so it does not seem to mean that.
 2. What is meant by saying that directsetup supports gridsnapping? Do
    you mean that fastsetup does not? (If that is the case, should a
    module writer not use fastsetup because it might be used in a
    document that requires a grid?)
 3. Is the support for {} and [] in setup simply to maintain legacy
    support for {}, or are there reasons to choose one over the other? I
    do see consistently faster times with the curlies.
 4. Are there operations that are supported in directsetup that are not
    supported in setup or fastsetup? Are there operations supported in
    fastsetup that are not supported in setup or directsetup?
 5. Is it fair to say that setup can do the most, directsetup a bit
    less, and fastsetup is the most restrictive? Except for the most
    performance-constrained documents, setup is a safe choice, but when
    constructing modules or performance tuning, the others might be tested?

-- 
Rik

[-- Attachment #1.2: Type: text/html, Size: 3563 bytes --]

[-- Attachment #2: Type: text/plain, Size: 493 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2021-11-15 18:06 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-15  5:24 Rik Kabel via ntg-context
2021-11-15  8:21 ` Denis Maier via ntg-context
2021-11-15  9:38 ` Hans Hagen via ntg-context
2021-11-15 18:06   ` Rik Kabel via ntg-context [this message]
2021-11-15 18:54     ` Wolfgang Schuster via ntg-context
     [not found]       ` <c4306f2b-3555-cb6f-787b-fafb98fe2c79@rik.users.panix.com>
2021-11-15 22:48         ` Wolfgang Schuster via ntg-context
2021-11-15 21:33     ` Hans Hagen via ntg-context

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

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

  git send-email \
    --in-reply-to=9ca345bf-bcb7-0e13-262e-830563326384@panix.com \
    --to=ntg-context@ntg.nl \
    --cc=rik@panix.com \
    /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.
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 NNTP newsgroup(s).