<div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
It&#39;s a bug. The next time a user calls KisTileReadWriteProcessor::setupProcessor() or KisTileReadWriteProcessor::KisTileReadWriteProcessor() with different args and then calls copyData, dataIdx won&#39;t be set to the correct value.<br>

</blockquote></div><br>=)<br>It&#39;s done purposely to test this speed boost. More than that with current test-suite it works fine as applyProcessor calls setupProcessor() with the same data-pointer all the times. I know it&#39;s dirty hack, but, all the same, i&#39;m going to change processors&#39; interface now.<br>
<br>And good news! I think i found the cause of this speed doubling. It&#39;s cache misses. I managed to run callgrind with special options, and test ran like on real processor - cache read misses was almost 90% on the version before commit :)<br>
<br>PS:<br>valgrind --tool=callgrind  --I1=65536,1024,16 --D1=65536,1024,16 --L2=262144,1024,32 ./dm_perfomance_test<br><br>PS: I&#39;m not sure about associativity, but my caches are L1: 64+64KiB, L2: 256KiB<br><br clear="all">
<br>-- <br>Dmitry Kazakov<br>