<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2018-01-08 21:30 GMT+01:00 Graeme Geldenhuys <span dir="ltr"><<a href="mailto:mailinglists@geldenhuys.co.uk" target="_blank">mailinglists@geldenhuys.co.uk</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Speaking of Generics and Benchmarks. Has anybody done some benchmarks on FPC's Generics vs "old-school" TList and TObjectList. Recently I did a very simple test with Delphi XE3 using TList<Integer> and a stock TList. Adding 50,000 and 200,000 integer values to each list, and timing the creation of the list and population of the list. Then I also timed the destruction of the list. I was horified to find out how much slower Delphi's Generics were compared to TList and TObjectList. Destruction was 250x slower in many cases. Creation and population of the list was 5x-10x slower.<br>
<br>
Lets hope FPC fares better. If nobody has done such tests, I can do it tomorrow at work with the same Delphi test code I created.<br></blockquote><div><br></div><div><div>It depends on use case and on library design. For example in the FPC case, generic TList<T> has better performance for larger lists (the capacity uses golden ratio) than regular TList (for Integers). The performance difference in daily usage is rather minor (if any). </div><div><br></div><div>We have available detailed tests for generic and non generics hash maps thanks to Benito van der Zander (FPC has so many different maps! :) ):</div><div><br></div><div><a href="http://www.benibela.de/fpc-map-benchmark_en.html">http://www.benibela.de/fpc-map-benchmark_en.html</a></div><div><br></div><div>The results for rtl-generics should be better soon. I am working on new version of rtl-generics library, so all should works faster (better hashing function + optimizations for managed types - especially improved for incoming smart pointers/objects). </div></div><div> </div></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>Best regards,<br>Maciej Izak</div></div></div>
</div></div>