![](https://secure.gravatar.com/avatar/bc68bd7791a2261e6e59722afea6a5d0.jpg?s=120&d=mm&r=g)
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