summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3kernel/l3tl-build.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3tl-build.dtx')
-rw-r--r--macros/latex/contrib/l3kernel/l3tl-build.dtx16
1 files changed, 12 insertions, 4 deletions
diff --git a/macros/latex/contrib/l3kernel/l3tl-build.dtx b/macros/latex/contrib/l3kernel/l3tl-build.dtx
index 645f052d15..66b5a2d03e 100644
--- a/macros/latex/contrib/l3kernel/l3tl-build.dtx
+++ b/macros/latex/contrib/l3kernel/l3tl-build.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-01-04}
+% \date{Released 2024-01-22}
%
% \maketitle
%
@@ -59,6 +59,14 @@
% constructed token list cannot be accessed during construction other than
% by methods provided in this section.
%
+% Whilst the exact performance difference is dependent on the size of each
+% added block of tokens and the total number of blocks, in general, the
+% \cs[no-index]{tl_build_(g)put...} functions will out-perform the basic
+% \cs[no-index]{tl_(g)put...} equivalent if more than 100 non-empty addition
+% operations occur. See
+% \url{https://github.com/latex3/latex3/issues/1393#issuecomment-1880164756}
+% for a more detailed analysis.
+%
% \begin{function}[added = 2018-04-01]{\tl_build_begin:N, \tl_build_gbegin:N}
% \begin{syntax}
% \cs{tl_build_begin:N} \meta{tl~var}
@@ -285,12 +293,12 @@
% \begin{macrocode}
\cs_new_protected:Npn \tl_build_end:N #1
{
- \@@_build_get:NNN \__kernel_tl_set:Ne #1 #1
+ \@@_build_get:NNN \__kernel_tl_set:Nx #1 #1
\exp_args:Nc \@@_build_end_loop:NN { \cs_to_str:N #1 ' } \tl_clear:N
}
\cs_new_protected:Npn \tl_build_gend:N #1
{
- \@@_build_get:NNN \__kernel_tl_gset:Ne #1 #1
+ \@@_build_get:NNN \__kernel_tl_gset:Nx #1 #1
\exp_args:Nc \@@_build_end_loop:NN { \cs_to_str:N #1 ' } \tl_gclear:N
}
\cs_new_protected:Npn \@@_build_end_loop:NN #1#2
@@ -308,7 +316,7 @@
% \begin{macro}{\tl_build_get_intermediate:NN}
% \begin{macrocode}
\cs_new_protected:Npn \tl_build_get_intermediate:NN
- { \@@_build_get:NNN \__kernel_tl_set:Ne }
+ { \@@_build_get:NNN \__kernel_tl_set:Nx }
% \end{macrocode}
% \end{macro}
%