<div dir="ltr"><div class="gmail_extra"><div><div class="im" style="font-family:arial,sans-serif;font-size:13px">On Thu, Aug 21, 2014 at 8:26 AM, Even Rouault <span dir="ltr"><<a href="mailto:even.rouault@spatialys.com" target="_blank">even.rouault@spatialys.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>I guess the silence in thread is due to people being impressed by the<br>
austerity of the topic...<br></blockquote><div><br></div></div><div style="font-family:arial,sans-serif;font-size:13px">Something like that :)</div><div class="im" style="font-family:arial,sans-serif;font-size:13px"><div>
 </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
On the other side, I would be very pleased with having "just" the preliminary<br>step of Blake's work, i.e. the possibility to choose a per-band block cache<br>strategy instead of the global block cache. That should already address most<br>
scaling issues.<br></blockquote><div><br></div></div><div style="font-family:arial,sans-serif;font-size:13px">I agree - from reading it seems like the major improvement is shifting away from a global, locking cache to a per-dataset cache. (ah. has been edited since you read it?)</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Which personally I think is worthwhile for any code/application which reads a variety of gdal datasources.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Quick question - presumably for VRT datasets any source images currently share the global cache and are treated from this proposals' POV as their own "datasets"? As well as the VRT being a separate dataset? If so, seems like this could be quite a major win for users with VRTs for tiled images?</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">While it's a lot of code change, it's mostly simple/repeated changes. </div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">> Solution 2 (RW Mutex in GDALRasterBlock)</div><div style="font-family:arial,sans-serif;font-size:13px">> Cons:</div><div style="font-family:arial,sans-serif;font-size:13px">
> It means that writing a driver is not as trivial as before and care must be taken in how locking is done within the driver in order to prevent deadlocks and maintain thread safety.</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">I'm wary about making drivers more complex, there's a lot of them. And many are unlikely to be tested in multi-threaded anger during initial development (and MT issues can be hard to unit test). Can you explain a bit further what would be the impact for typical driver styles? Can we make the typical case (no/locked multithreaded access) really easy? What sort of driver code would be needed for drivers that can do MT reads? MT reads and writes?</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Rob :)</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
OT: can we change gdal-dev to be reply-all by default? :)</div></div>-- <br><div dir="ltr"><font face="arial narrow, sans-serif"><b>Koordinates<br></b>PO Box 1604, Shortland St, Auckland 1140, New Zealand<br>Phone +64-9-966 0433 <a href="https://koordinates.com/about" target="_blank">koordinates.com</a></font></div>

</div></div>