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
___________________________________________________________________________________
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
___________________________________________________________________________________