<div dir="auto"><div class="gmail_quote" dir="auto"><div dir="ltr">Ryan Joseph <<a href="mailto:ryan@thealchemistguild.com">ryan@thealchemistguild.com</a>> schrieb am Fr., 25. Mai 2018, 12:45:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
> On May 25, 2018, at 3:57 PM, Sven Barth via fpc-pascal <<a href="mailto:fpc-pascal@lists.freepascal.org" target="_blank" rel="noreferrer">fpc-pascal@lists.freepascal.org</a>> wrote:<br>
> <br>
> If I had to guess you were probably doing something with the arrays they weren't designed for. :/<br>
> <br>
<br>
It’s a little foggy now but I think I had a dynamic array in a class which was being passed around some functions or the class (with the dynamic array) was in a record which was being passed around some functions. I think this was happening within tight loops also.<br>
<br>
Bottom line is if the that thread lock function does anything expensive then passing around dynamic arrays within tight loops could be a deal breaker unless you could manually declare a dynamic array as not thread safe.<br></blockquote></div><div dir="auto"><br></div><div dir="auto">When passing around dynamic arrays in such situations var and constref parameters should be used and assignments inside those loops should be avoided. </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div>