2022-04-05 GnuCash IRC logs

01:15:56 *** frakturfreak1 has quit IRC
01:18:33 *** fell has quit IRC
01:19:53 *** fell has joined #gnucash
01:19:53 *** ChanServ sets mode: +o fell
01:30:26 *** frakturfreak1 has joined #gnucash
01:32:08 *** David has quit IRC
01:32:36 *** David has joined #gnucash
01:40:28 *** Pegasus_RPG has quit IRC
02:13:38 *** bertbob has quit IRC
02:31:04 *** bertbob has joined #gnucash
02:31:04 *** ChanServ sets mode: +v bertbob
02:47:56 *** Hamaryns has joined #gnucash
02:47:56 *** ChanServ sets mode: +v Hamaryns
02:48:20 *** Hamaryns has quit IRC
02:48:23 *** Hamaryns has joined #gnucash
02:48:23 *** ChanServ sets mode: +v Hamaryns
03:05:52 *** sbluhm has joined #gnucash
03:10:22 *** sbluhm has quit IRC
03:24:58 *** sbluhm has joined #gnucash
03:25:26 *** tomk_dk has joined #gnucash
04:16:16 *** chaoticgry has quit IRC
05:07:42 *** sbluhm has quit IRC
05:29:40 *** sbluhm has joined #gnucash
05:34:09 *** sbluhm has quit IRC
05:58:18 *** gjanssens has joined #gnucash
05:58:18 *** ChanServ sets mode: +o gjanssens
06:05:12 *** User has joined #gnucash
06:24:46 *** tomk_dk has quit IRC
06:48:10 *** Hamaryns has quit IRC
06:56:15 *** sbluhm has joined #gnucash
07:26:59 *** sbluhm has quit IRC
07:52:21 *** mauritslamers has quit IRC
07:53:21 *** storyjesse has joined #gnucash
07:53:30 *** mauritslamers has joined #gnucash
07:53:30 *** ChanServ sets mode: +v mauritslamers
08:12:39 *** Aussie_matt has joined #gnucash
08:32:42 *** sbluhm has joined #gnucash
08:36:13 *** chaoticgry has joined #gnucash
08:36:28 *** sbluhm has quit IRC
08:36:49 *** sbluhm has joined #gnucash
08:40:34 *** sbluhm has quit IRC
08:41:38 *** mydogsnameisrudy has joined #gnucash
08:43:29 *** sbluhm has joined #gnucash
08:45:09 *** mydogsnameisrudy has quit IRC
08:47:14 *** sbluhm has quit IRC
08:47:56 *** sbluhm has joined #gnucash
08:50:56 *** sbluhm has quit IRC
09:13:55 *** sbluhm has joined #gnucash
09:29:41 *** sbluhm has quit IRC
09:31:38 *** Jimraehl1 has joined #gnucash
10:07:16 *** sbluhm has joined #gnucash
10:25:19 *** storyjesse has quit IRC
10:33:08 *** Aussie_matt has quit IRC
10:40:23 *** Pegasus_RPG has joined #gnucash
10:42:30 *** sbluhm has quit IRC
10:43:21 *** sbluhm has joined #gnucash
10:46:22 *** sbluhm has quit IRC
10:48:26 *** sbluhm has joined #gnucash
10:59:30 *** Pegasus_RPG has quit IRC
10:59:32 <chris> adrienM jralls from my experimentation, removing rounding in gncEntryLedger.c and fixing the Qty to use xaccPrintAmount leads to satisfactory behaviour: exact fraction 1/7 shown, 2decimals for integers eg 12.00, and acceptable precision when needed eg 0.375
11:00:03 <chris> it both changes in 798496 and 798493
11:00:10 <chris> s/it/ie
11:00:58 <chris> old fractions e.g. 1/3 would show 0.3333333333 because it says so
11:06:15 *** guak has joined #gnucash
11:11:53 *** Pegasus_RPG has joined #gnucash
11:23:27 *** sbluhm has quit IRC
11:24:39 *** Pegasus_RPG has quit IRC
11:29:23 *** sbluhm has joined #gnucash
11:35:44 *** sbluhm has quit IRC
11:43:25 *** sbluhm has joined #gnucash
11:46:01 <Simon> how often is the function calls and does it have to use a regex?
11:46:04 <Simon> called*
11:46:27 <Simon> regular expressions are convenient but there may be far more efficient ways to do things at the expense of more code
11:47:11 *** sbluhm has quit IRC
11:49:46 <chris> Simon: wanna hack on it? gnc-numeric.cpp line 121 onwards - gets called for each numeric read from xml
11:54:19 <Simon> wow
11:55:44 <Simon> Making it be one regex instead of several ought to speed it up, at least for the later cases
11:59:53 <Simon> The decimal case is a bit awkward but in one pass I expect it to be possible to identify the start/end of each part and what type it is
12:00:52 <Simon> For a simple test move the integer one that appears in the XML to be first
12:00:57 <chris> and also potentially keep it in char* instead of std::string.
12:00:59 * chris not hacking this.
12:01:03 <Simon> Instead of wasting time looking for hex
12:01:40 *** sbluhm has joined #gnucash
12:02:08 <Simon> I think the overhead of regex will be many times more than the memcpy required for a string object
12:04:58 *** Robert847 has joined #gnucash
12:04:58 *** ChanServ sets mode: +v Robert847
12:06:14 <chris> regex is compiled though; it should be clever
12:09:36 <Robert847> HI. I just got an error message while running SLR: Invalid Transactions Unknown account for GUID followed by details. This is an old SX that has run correctly for years. Assuming that something got corrupted, I examined the SX and all ten of the account names appear to be correct.
12:15:00 <Robert847> How do I fix this?
12:17:35 <Robert847> At least highlighting each account name in turn brings up the drop-down-list and I do not see any typos
12:18:55 *** sbluhm has quit IRC
12:20:40 <Robert847> Oh! there wee 11 lines in the last successful entry. Maybe that is a clue
12:31:04 <Simon> applying multiple regexps sequentially must be slower than doing them all together
12:37:31 <chris> agreed; the first two regexps may be short-circuited by adding a (str.c_str()+1 == 'x') && to the test
12:39:17 <chris> or str.at(1) == 'x'
12:45:43 <Robert847> assigning the missing account to the 11th line and correcting another account that seems to have changed, saving the SX fixed the problem. It now runs without error.
12:47:19 *** Robert8472 has joined #gnucash
12:48:18 *** Pegasus_RPG has joined #gnucash
12:48:56 *** Robert847 has quit IRC
12:53:05 *** Robert8472 has left #gnucash
12:55:35 *** David has quit IRC
12:55:45 *** David has joined #gnucash
13:05:18 *** bertbob has quit IRC
13:07:17 *** bertbob has joined #gnucash
13:07:18 *** ChanServ sets mode: +v bertbob
13:12:25 *** Pegasus_RPG has quit IRC
13:12:58 *** Hamaryns has joined #gnucash
13:12:58 *** ChanServ sets mode: +v Hamaryns
13:29:23 *** sbluhm has joined #gnucash
13:30:20 <Simon> The first thing I'd do though is time the optimal path to see if it makes a measurable difference to the load time
13:31:10 <Simon> because if it's not faster with some quick hacks it's not worth changing it
13:33:54 *** sbluhm has quit IRC
13:35:23 *** Pegasus_RPG has joined #gnucash
13:36:24 *** David has quit IRC
13:36:35 *** David has joined #gnucash
13:57:10 *** sbluhm has joined #gnucash
14:02:27 *** sbluhm has quit IRC
14:09:23 *** sbluhm has joined #gnucash
14:14:40 *** Pegasus_RPG has quit IRC
14:31:44 <jralls> chris, Simon: Do *not* put a bunch of effort into optimizing XML parsing. It's getting rewritten to directly create an in-memory SQLite3 db and the internal objects will be created from that.
14:39:46 <jralls> Simon, it might be true that a single RE is faster than several smaller ones, but the bigger the RE the harder it is for most people to understand, so unless there's solid time-slice profiler support that consolidating the REs makes a big (>=50%) speed improvement the readability reduction isn't worth it.
14:40:31 <jralls> And it's the most common path that matters, not the optimal one for whatever value of optimal you might be thinking of.
14:50:04 *** Hamaryns has quit IRC
14:59:11 *** Pegasus_RPG has joined #gnucash
15:10:09 *** sbluhm has quit IRC
15:20:04 *** gjanssens has quit IRC
15:42:09 *** anon123 has joined #gnucash
15:43:34 *** anon123 has left #gnucash
15:59:25 *** Pegasus_RPG has quit IRC
16:30:15 <Simon> that sounds even slower than parsing XML
16:30:35 <Simon> I disagree
16:30:58 <Simon> it is going to be the path with the most impact that matters, which is either file loading or reporting
16:31:10 <Simon> it doesn't matter if individual transaction entry is a microsecond slower
17:42:25 *** NoobAlice has joined #gnucash
17:42:25 *** ChanServ sets mode: +v NoobAlice
17:55:13 <jralls> Simon, the goal is for GnuCash to use the DB as a DB instead of just a storage mechanism. XML will be for backups and backward compatibility.
18:05:16 *** mydogsnameisrudy has joined #gnucash
18:07:18 *** mydogsnameisrudy has quit IRC
18:31:26 *** User has quit IRC
19:39:20 *** yyoshino has quit IRC
19:39:35 *** yyoshino has joined #gnucash
19:41:01 *** guak has quit IRC
19:43:02 *** guak has joined #gnucash
20:41:23 *** guak has quit IRC
21:29:23 *** storyjesse has joined #gnucash