[GNC] import map editor takes a VERY long time to open

david whiting dw at davidwhiting.me.uk
Sun Mar 1 15:06:16 EST 2020


Hi,

[Resending as I sent it from the wrong email address the first time]

OS: Ubuntu 19.10
Machine: 8 cores (but only one used by gnucash, I think). 32 Gb memory.
Gnucash: 3.7 and 3.8 maint (built this afternoon)
Backend: XML, uncompressed. 24 Mb

I would like to use the import map editor but it seems to take a very long
time to open, in fact so long that I haven't managed to open it yet. I have
given it an hour and then killed gnucash. I'm now running it with --debug
--trace and after an hour the trace file is 149 Mb and growing.

For a long while now the trace file has been filling up with entries as
shown below [1].

My gnucash data file is 24 Mb uncompressed. I have over 1,000 accounts, not
sure how many transactions or splits, but perhaps this gives a reasonable
idea:

$ grep "gnc:transaction version" BYFC3.gnucash | wc -l
15427
$ grep "<trn:split>" BYFC3.gnucash | wc -l
32704

Is it normal that it takes this long?

Thanks.

David



[1] /tmp/gnucash.trace
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=1
hi=0x55c552cc3a30 han=0x7f24b5c96510 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=19
hi=0x55c55a2ef4c0 han=0x7f24b69961a0 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=18
hi=0x55c55a19d090 han=0x7f24b69961a0 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=17
hi=0x55c5585b1050 han=0x7f24b69961a0 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=16
hi=0x55c55987fe90 han=0x7f24b69961a0 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=15
hi=0x55c558f13c70 han=0x7f24b5bf1810 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=14
hi=0x55c558f13c20 han=0x7f24b5c52c40 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=13
hi=0x55c558dad490 han=0x7f24b69961a0 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=12
hi=0x55c558bf9a60 han=0x7f24b69961a0 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=11
hi=0x55c5560d78c0 han=0x7f24b5bf8460 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=10
hi=0x55c558aacbb0 han=0x7f24b69961a0 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=9
hi=0x55c55867c960 han=0x7f24b69961a0 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=8
hi=0x55c55850ffe0 han=0x7f24b69961a0 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=7
hi=0x55c556552e70 han=0x7f24b5c52c40 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=6
hi=0x55c554b91610 han=0x7f24b5caf760 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=5
hi=0x55c555f85da0 han=0x7f24b5ae7830 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=4
hi=0x55c5555aa670 han=0x7f24b5ad5790 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=3
hi=0x55c5544042a0 han=0x7f24b696d030 data=(nil)
* 18:49:19  INFO <qof.engine> [qof_event_generate_internal] id=2
hi=0x55c552b56d30 han=0x7f24b5bf1340 data=(nil)
* 18:49:19  INFO <qof.object> [qof_object_foreach] type=Split
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split before is 32713
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split after is 32713
* 18:49:19  INFO <qof.query> [qof_query_run_internal] matching
objects=0x55c566329080 count=50
* 18:49:19  INFO <qof.object> [qof_object_foreach] type=Split
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split before is 32713
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split after is 32713
* 18:49:19  INFO <qof.query> [qof_query_run_internal] matching
objects=0x55c566c0ad60 count=650
* 18:49:19  INFO <qof.object> [qof_object_foreach] type=Split
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split before is 32713
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split after is 32713
* 18:49:19  INFO <qof.query> [qof_query_run_internal] matching
objects=0x55c565b24e60 count=19
* 18:49:19  INFO <qof.object> [qof_object_foreach] type=Split
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split before is 32713
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split after is 32713
* 18:49:19  INFO <qof.query> [qof_query_run_internal] matching
objects=0x55c565b5cca0 count=54
* 18:49:19  INFO <qof.object> [qof_object_foreach] type=gncEntry
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
gncEntry before is 1027
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
gncEntry after is 1027
* 18:49:19  INFO <qof.query> [qof_query_run_internal] matching
objects=0x55c566cc2b40 count=2
* 18:49:19  INFO <qof.object> [qof_object_foreach] type=Split
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split before is 32713
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split after is 32713
* 18:49:19  INFO <qof.query> [qof_query_run_internal] matching
objects=0x55c5665d8a40 count=47
* 18:49:19  INFO <qof.object> [qof_object_foreach] type=Split
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split before is 32713
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split after is 32713
* 18:49:19  INFO <qof.query> [qof_query_run_internal] matching
objects=0x55c564a57040 count=21
* 18:49:19  INFO <qof.object> [qof_object_foreach] type=Split
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split before is 32713
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split after is 32713
* 18:49:19  INFO <qof.query> [qof_query_run_internal] matching
objects=0x55c566cb4aa0 count=106
* 18:49:19  INFO <qof.object> [qof_object_foreach] type=Split
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split before is 32713
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split after is 32713
* 18:49:19  INFO <qof.query> [qof_query_run_internal] matching
objects=0x55c5661a4ac0 count=8
* 18:49:19  INFO <qof.object> [qof_object_foreach] type=Split
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split before is 32713
* 18:49:19  INFO <qof.engine> [qof_collection_foreach] Hash Table size of
Split after is 32713
* 18:49:19  INFO <qof.query> [qof_query_run_internal] matching
objects=0x55c5667bff20 count=5016

-- 
David Whiting


More information about the gnucash-user mailing list