----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/120815/#review70013 -----------------------------------------------------------
Ship it! - Christian David On Nov. 7, 2014, 8:06 nachm., Cristian Oneț wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/120815/ > ----------------------------------------------------------- > > (Updated Nov. 7, 2014, 8:06 nachm.) > > > Review request for KMymoney, Skrooge and Thomas Baumgart. > > > Repository: alkimia > > > Description > ------- > > Before this the biggest cost of using an AlkValue object, implicitly > a KMyMoneyMoney object was assignment, construction and destruction. > > By using implicit sharing combined with a shared zero value, copying > on assignment and construction can be greatly reduced. > > Implicit sharing was easy to implement using QSharedDataPointer. > > Bumped the library version because API changes were necessary. The > mpq_class &valueRef() const method was bad beacause it was returning > a non-const reference from a const function. Now There is a const > version which will not detach the shared data while the non-const > version will detach from the shared data. > > REVIEW: 120815 > REVIEW: 121030 > > > Diffs > ----- > > libalkimia/CMakeLists.txt 3dbe4db2d1d4ce6d324f7df947e3f284a40b492a > libalkimia/alkvalue.h 7c02403adc641d1acf44c65fec39c1435e54405b > libalkimia/alkvalue.cpp ae5d3a4ba61c4f0100d2598660ae76c432914d90 > > Diff: https://git.reviewboard.kde.org/r/120815/diff/ > > > Testing > ------- > > Succesfully ran KMyMoney and KMyMoney tests. See the attached screeshots for > the callgrind data about AlkValue obtained while loading the same KMyMoney > file without and with this change. Note that the second run also contains > some MyMoneyMoney optimizations based on this feature (subject of a different > review request). > > > File Attachments > ---------------- > > Callgrind data using AlkValue from alkimia 4.3.2 > > https://git.reviewboard.kde.org/media/uploaded/files/2014/10/26/f79cfa4b-b01a-4d14-adbe-dc905ad1a4c9__alk-value.png > Callgrind data using AlkValue from alkimia 4.4.0 (with implicit sharing) > > https://git.reviewboard.kde.org/media/uploaded/files/2014/10/26/ceb1cb24-fe5e-414e-a0c1-09746bcb9bcc__alk-value-implicitly-shared.png > Callgrind data while loading file by KMyMoney using review 120818 and alkimia > 4.3.2 > > https://git.reviewboard.kde.org/media/uploaded/files/2014/10/26/9d142707-962b-434a-b847-8af7154ff4a1__alk-value-4.3.2.png > Callgrind data while loading register by KMyMoney using review 120818 and > alkimia 4.3.2 > > https://git.reviewboard.kde.org/media/uploaded/files/2014/10/26/25200104-be0e-434e-941d-c7c51c9bcb2c__register-load-4.3.2.png > Callgrind data while loading register by KMyMoney using review 120818 and > alkimia 4.4.0 > > https://git.reviewboard.kde.org/media/uploaded/files/2014/10/26/58ee7a28-2723-4b2c-9818-e82b0b6a03e8__register-load-4.4.0.png > Callgrind data while editing transaction by KMyMoney using review 120818 and > alkimia 4.3.2 > > https://git.reviewboard.kde.org/media/uploaded/files/2014/10/26/6f25d85b-3c3e-4d92-9f1a-1315daf3788c__transaction-edit-4.3.2.png > Callgrind data while editing transaction by KMyMoney using review 120818 and > alkimia 4.4.0 > > https://git.reviewboard.kde.org/media/uploaded/files/2014/10/26/e4d5d50f-efb8-4f0b-bed8-23fa1c5db391__transaction-edit-4.4.0.png > Callgrind data while loading file by KMyMoney using review 120818 and alkimia > 4.4.0 > > https://git.reviewboard.kde.org/media/uploaded/files/2014/10/26/8808ebc3-a112-4425-b35e-05acd8ba94d1__alk-value-4.4.0.png > > > Thanks, > > Cristian Oneț > >
_______________________________________________ KMyMoney-devel mailing list [email protected] https://mail.kde.org/mailman/listinfo/kmymoney-devel
