Am 22.02.2019 um 07:06 schrieb Paul van Helden:
On Fri, Feb 22, 2019 at 2:35 AM Ben Grasset <[email protected] <mailto:[email protected]>> wrote:


    On Sat, Feb 16, 2019 at 5:44 PM Benito van der Zander
    <[email protected] <mailto:[email protected]>> wrote

        it can turn out the enumerators are slower than an old school loop


    The trick with enumerators is to never make them classes, and use
    advanced records instead, I've found. This way you avoid the heap
    allocation and the implicit try/finally. Also make sure you inline
    the MoveNext and GetCurrent!

 How do you make a (for in) enumerator with a record? I don't use them for exactly this reason, and they did seem to be another useful language feature that turned out to be poorly implemented by Embarcadero. (Haven't checked with FPC).
Just as you would a class (an object is fine, too, by the way). You can take a look at the testcase here: https://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/tests/test/tforin25.pp?view=markup

Regards,
Sven
_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to