<div dir="ltr">Hi,<div><br></div><div>I just pushed 3 UDSEntry changes to gerrit for your reviewing pleasure:</div><div><br></div><div>  1: <a href="https://gerrit.vesnicky.cesnet.cz/r/#/c/473/">https://gerrit.vesnicky.cesnet.cz/r/#/c/473/</a></div><div>  2: <a href="https://gerrit.vesnicky.cesnet.cz/r/#/c/474/">https://gerrit.vesnicky.cesnet.cz/r/#/c/474/</a></div><div>  3: <a href="https://gerrit.vesnicky.cesnet.cz/r/#/c/475/">https://gerrit.vesnicky.cesnet.cz/r/#/c/475/</a></div><div><br></div><div>The end result is a faster UDSEntry in every way. The benchmark results (which are from udsentrybenchmark) can be found here: <a href="http://kdeblog.mageprojects.com/?p=394&preview=1&_ppp=c936cdced4">http://kdeblog.mageprojects.com/?p=394&preview=1&_ppp=c936cdced4</a></div><div><br></div><div>So.. what did i do this time? Initially i wanted to get rid of the extra bookkeeping without loss of speed or increasing memory usage. This was basically an experiment to see if i could get that working. I was guessing that a linear lookup (using std::find_if) would be equally fast as QVector::contains(). That turned out to be that case as you can see in the benchmarks.</div><div><br></div><div>Next up i wanted to use more advanced C++11 that QVector simply doesn't allow: emplace_back: <a href="http://en.cppreference.com/w/cpp/container/vector/emplace_back">http://en.cppreference.com/w/cpp/container/vector/emplace_back</a> My guess was that it would allow for quite some speedups in inserting because objects would be created in place instead of created and copied (or moved). Looks like i was right since the benchmarks for creating entries have been improved quite a bit.</div><div><br></div><div>While at it, also implemented move semantics :)</div><div><br></div><div>In terms of memory consumption these patches don't change much. Browsing a massive folder (500.000 files) in dolphin without this patch series took ~710MB, with it the figure was about 705MB. A saving, but nothing much compared tot the total usage.</div><div><br></div><div>I would like to know what you folks think of these improvements.<br></div><div>I really wonder how much more performance i can squeeze out of UDSEntry.<br></div><div><br></div><div>Regarding gerrit. How can i make patch 2 and 3 dependent on 1?</div><div>And why is gerrit failing?</div><div><br></div><div>Best regards,</div><div>Mark</div></div>