<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 19, 2015 at 5:09 PM, Levente Uzonyi <span dir="ltr">&lt;<a href="mailto:leves@elte.hu" target="_blank">leves@elte.hu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, 19 Jan 2015, Eliot Miranda wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
On Mon, Jan 19, 2015 at 1:31 PM, Nicolas Cellier &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@<u></u>gmail.com</a>&gt; wrote:<br>
      Hi Tobias,<br>
      are you aware of CurrentReadOnlySourceFiles cacheDuring: [...]<br>
This is to workaround the readOnlyCopy used for thread safety which is the main killer of performance...<br>
<br>
<br>
IMO this is a bug.  We should simply have a single read-only copy of each sources file and modify the debugger to either save and restore the state of a read-only copy around accessing source, or use its own<br>
read-only copy (except that the latter approach breaks when one debugs the debugger).  The difference in performance between using CurrentReadOnlySourceFiles cacheDuring: [...] and not in anything that<br>
accesses source is huge.  And CurrentReadOnlySourceFiles cacheDuring: [...] is a /lot/ of verbiage to type in doits, and a sign that something is wrong.<br>
</blockquote>
<br>
How would using a single copy solve the concurrency issues?<br></blockquote><div><br></div><div>It wouldn&#39;t, but what issues are you seeing in concurrent source access?  VW doesn&#39;t even have read-only copies and AFAICR we never had complaints about this.  Is there really a thread-safety issue here?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I think the real solution would be to use per process copies, which were initialized lazily, and were closed automatically after some time of inactivity.</blockquote><div><br></div><div>If concurrent access was really an issue then OK.  But first I&#39;d like some evidence that there&#39;s a real problem here.</div></div>-- <br><div class="gmail_signature">best,<div>Eliot</div></div>
</div></div>