## LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

#### View:

 Message: [ First | Previous | Next | Last ] By Topic: [ First | Previous | Next | Last ] By Author: [ First | Previous | Next | Last ] Font: Proportional Font

Subject:

Re: The nature of popping from an empty sequence

From:

Date:

Thu, 14 Apr 2011 17:58:17 +0100

Content-Type:

text/plain

Parts/Attachments:

 text/plain (41 lines)
 On 14/04/2011 09:44, Will Robertson wrote: > * These should probably be consistent. > * I think returning a quark is dangerous in case of sloppy package authors. If we want consistency between \seq_... and \prop_..., then that is fine but we also need to worry about performance. I'm worried about property lists, as they are used a lot in siunitx. With the short test file   \documentclass{article}   \usepackage{expl3}   \begin{document}   \ExplSyntaxOn   \prop_new:N \test   \tl_new:N \testa   \prop_put:Nnn \test { a } { b }   \pdfresettimer   \prg_replicate:nn { 10000 }     {       \prop_get:NnN \test { a } \testa       \quark_if_no_value:NTF \test { } { }     }   \showthe\pdfelapsedtime   \pdfresettimer   \prg_replicate:nn { 10000 }     {       \prop_if_in:NnTF \test { a }         {           \prop_get:NnN \test { a } \testa         }         { }     }   \showthe\pdfelapsedtime   \end{document} I find that the quark-based approach is about twice as fast as using \prop_if_in:Nn. Granted, this is somewhat artificial, but I do essentially this a lot inside siunitx and do not really want to loose speed if I can avoid it. -- Joseph Wright