Rough KDevelop 4.6 Planning
Milian Wolff
mail at milianw.de
Thu Dec 20 17:29:25 UTC 2012
<snip>
On Tuesday 18 December 2012 20:45:10 Milian Wolff wrote:
> Secondly, I started another interesting refactoring on the weekend related
> to our ItemRepositories. Looking some more at IndexedString, I managed to
> cleanup its API (removing potential encoding pitfalls) while also speeding
> it up quite considerably (about factor of 2 for string serialization, and
> about 20% for string deserialization). I will concentrate on landing the
> IndexedString refactoring first, then also hope to repeat the optimizations
> there for the other item repositories, and - while at it - cleaning up the
> mess of code that is itemrepository.{h,cpp}. I'm confident that by writing
> tests and using our existing tests, I can keep this working without any big
> breakages.
I just finished the first rough refactor round in KDevplatform for
IndexedString, here are the quite nice results:
# project model performance test
## before:
init core 1274
create model 0
init model 625
set model 1
addBigTree 618
addBigTree 619
addBigTree 608
addBigTree 625
addBigTree 603
addBigTree 613
## after:
init core 227
create model 0
init model 591
set model 1
addBigTree 571
addBigTree 579
addBigTree 572
addBigTree 586
addBigTree 571
addBigTree 569
Esp. notice the init core numbers!
# quickopen benchmark
## before:
RESULT : QuickOpenBench::benchProjectFileFilter_addRemoveProject():"5000-f/b":
23 msecs per iteration (total: 93, iterations: 4)
## after:
RESULT : QuickOpenBench::benchProjectFileFilter_addRemoveProject():"5000-f/b":
20 msecs per iteration (total: 80, iterations: 4)
(other methods are equal)
So yeah, this is going to pay off :)
--
Milian Wolff
mail at milianw.de
http://milianw.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20121220/7da83973/attachment.sig>
More information about the KDevelop-devel
mailing list