gnucash master: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Sun Aug 20 15:50:32 EDT 2017


Updated	 via  https://github.com/Gnucash/gnucash/commit/71e37030 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f7ce8bcb (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1e0a9a0e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/82d891a2 (commit)
	from  https://github.com/Gnucash/gnucash/commit/4fc61b2a (commit)



commit 71e370308719e43732cdf76162eb9bcd3a65331f
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Aug 20 21:49:04 2017 +0200

    Use time64 GncDateTime constructor instead of struct tm constructor.
    
    It's substantially faster and we do a lot of time64->gdate conversions.

commit f7ce8bcbb300dc8a42b799323093ac187bd78a0f
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Aug 20 21:31:07 2017 +0200

    Disable creating a date string to maybe use in a PINFO message.
    
    Creating a date string occupied nearly all of the time required to
    set a date on a transaction, generally to no benefit at all.

commit 1e0a9a0ef802fda0e1589e0c9abde60852de5755
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Aug 20 21:28:09 2017 +0200

    Parse date strings into a struct tm and construct GDateTime with that.
    
    Instead of using the more generic string constructor. The struct tm
    constructor is several times faster and this change speeds up
    transaction loading by 2x.

commit 82d891a202f77c8550f9f548639f6f9de240d046
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Aug 20 21:24:02 2017 +0200

    Test features to see if they're already set before setting them.
    
    Setting a feature writes to KVP which in the SQL backend causes the book
    to be written out, which is rather expensive. Doing this in a loop (as
    is the case in convert_imap_account, is quite slow, and this change
    afforded a 4x speedup.



Summary of changes:
 .../backend/sql/gnc-sql-column-table-entry.cpp     | 30 +++++++++++++++++-----
 libgnucash/engine/Transaction.c                    |  6 +++--
 libgnucash/engine/gnc-date.cpp                     |  7 ++---
 libgnucash/engine/qofbook.cpp                      | 18 ++++++++++---
 4 files changed, 46 insertions(+), 15 deletions(-)



More information about the gnucash-patches mailing list