2020-03-06 GnuCash IRC logs

00:06:56 *** jralls has quit IRC
00:07:01 *** jralls has joined #gnucash
00:07:44 *** jralls has quit IRC
00:07:48 *** jralls has joined #gnucash
00:08:36 *** jralls has joined #gnucash
00:09:19 *** jralls has quit IRC
00:09:25 *** jralls has joined #gnucash
00:10:07 *** jralls has quit IRC
00:10:11 *** jralls has joined #gnucash
00:10:59 *** jralls has joined #gnucash
00:11:42 *** jralls has quit IRC
00:43:36 *** Mechtilde has joined #gnucash
01:29:16 *** fell has quit IRC
01:30:34 *** fell has joined #gnucash
01:30:34 *** ChanServ sets mode: +o fell
01:57:41 *** Mechtilde has quit IRC
02:27:41 *** pulsar has joined #gnucash
02:40:57 *** phoenix has joined #gnucash
02:45:33 *** phoenix has quit IRC
03:01:20 *** phoenix has joined #gnucash
03:11:02 *** sbluhm has joined #gnucash
03:11:02 *** ChanServ sets mode: +v sbluhm
03:19:16 *** sbluhm has quit IRC
03:29:02 *** gjanssens has joined #gnucash
03:29:02 *** gncbot sets mode: +o gjanssens
03:29:02 *** ChanServ sets mode: +o gjanssens
03:37:00 *** sbluhm has joined #gnucash
03:37:01 *** ChanServ sets mode: +v sbluhm
03:57:08 *** fell has quit IRC
03:57:11 *** fell_laptop has joined #gnucash
03:57:11 *** ChanServ sets mode: +o fell_laptop
04:03:38 *** Mechtilde has joined #gnucash
04:09:25 *** phoenix has quit IRC
04:27:30 *** hussam has quit IRC
04:31:35 *** Aussie_matt has quit IRC
04:46:51 *** zoid has quit IRC
05:09:23 *** hussam has joined #gnucash
05:09:23 *** ChanServ sets mode: +v hussam
05:18:28 *** ramontjunior has joined #gnucash
05:27:39 *** Aussie_matt has joined #gnucash
05:31:29 *** User__ has joined #gnucash
05:41:30 *** sbluhm has quit IRC
05:55:05 *** phoenix has joined #gnucash
05:55:06 *** User__ has quit IRC
05:59:26 *** sbluhm has joined #gnucash
06:26:12 *** phoenix has quit IRC
06:44:04 *** Jimraehl1 has joined #gnucash
06:45:20 *** Jimraehl1 has quit IRC
06:50:03 *** KevinDB has quit IRC
06:51:21 *** KevinDB has joined #gnucash
06:51:21 *** ChanServ sets mode: +v KevinDB
06:54:16 *** heredoc has quit IRC
07:06:18 <chris> @tell jralls hoping you can make sense of sysprof output. I can see 2 ways to speed up: xaccSplitGetBook can be cached, and (xaccDisableDataScrubbing) (xaccEnableDataScrubbing) around qif-importing.
07:06:18 <gncbot> chris: The operation succeeded.
07:21:16 *** Hamaryns has joined #gnucash
07:21:16 *** ChanServ sets mode: +v Hamaryns
08:01:36 *** heredoc has joined #gnucash
08:30:29 *** jralls has joined #gnucash
08:37:13 * chris testing xaccEnable/DisableDataScrub
08:39:29 *** Aussie_matt has quit IRC
08:41:19 *** omnireq_ has quit IRC
08:41:30 *** omnireq_ has joined #gnucash
08:44:16 *** Mechtilde has quit IRC
08:46:34 *** Mechtilde has joined #gnucash
08:51:48 *** Hamaryns has quit IRC
09:01:51 *** pulsar has joined #gnucash
09:04:39 * chris can't work profiling at all. getting very random timings. changes to cache values seem to slow them down. *gives up*
09:05:49 *** pulsar has quit IRC
09:18:52 *** jralls_ has joined #gnucash
09:19:37 *** jralls has quit IRC
09:20:47 *** waeking has quit IRC
09:22:49 *** omnireq_ has quit IRC
09:23:54 *** omnireq_ has joined #gnucash
09:23:56 *** chris1 has joined #gnucash
09:32:36 *** waeking has joined #gnucash
09:32:36 *** ChanServ sets mode: +v waeking
09:32:56 *** jralls_ has quit IRC
09:37:07 *** jralls has joined #gnucash
09:44:49 *** omnireq_ has quit IRC
09:45:00 *** omnireq_ has joined #gnucash
09:58:30 <chris> ok still can't understand sysprof/perf/etc - but I think there's major guid O(N^2) problems when importing large QIF into a normal book.
09:58:47 <chris> qof loops everywhere
10:01:09 <chris> e.g. 7cdd7372 introduces qof_book_use_split_action_for_num_field in many places, and introduces qof retrieval every time. sloow.
10:03:39 *** Mechtilde has quit IRC
10:27:17 *** omnireq_ has quit IRC
10:28:20 *** waeking2 has joined #gnucash
10:28:20 *** ChanServ sets mode: +v waeking2
10:28:20 *** waeking has quit IRC
10:28:20 *** waeking2 is now known as waeking
10:28:23 *** guak has joined #gnucash
10:42:33 *** chris1 has quit IRC
10:57:43 *** kael has joined #gnucash
10:57:43 *** ChanServ sets mode: +v kael
11:00:42 *** omnireq has joined #gnucash
11:00:42 *** ChanServ sets mode: +v omnireq
11:07:55 *** Gerd has joined #gnucash
11:08:05 *** fell_laptop is now known as fell
11:22:41 *** sbluhm has quit IRC
11:26:22 *** sbluhm has joined #gnucash
11:26:23 *** ChanServ sets mode: +v sbluhm
11:36:30 *** kael has quit IRC
11:37:45 *** phoenix has joined #gnucash
11:42:51 *** sbluhm has quit IRC
11:43:21 *** phoenix has quit IRC
11:45:56 *** Mechtilde has joined #gnucash
12:01:52 *** sbluhm has joined #gnucash
12:01:52 *** ChanServ sets mode: +v sbluhm
12:08:36 *** sbluhm has quit IRC
12:15:26 *** Gerd has quit IRC
12:17:33 *** Gerd has joined #gnucash
12:17:39 *** Gerd1 has joined #gnucash
12:20:33 *** Gerd has quit IRC
12:20:33 *** Gerd1 is now known as Gerd
12:38:58 *** sbluhm has joined #gnucash
12:47:24 *** jralls has quit IRC
12:52:02 *** calvinct has joined #gnucash
13:12:42 *** sbluhm has quit IRC
13:30:16 *** jervin has joined #gnucash
13:33:25 *** sbluhm has joined #gnucash
13:33:25 *** ChanServ sets mode: +v sbluhm
13:51:38 *** pulsar has joined #gnucash
13:55:24 *** pulsar has quit IRC
13:56:16 *** pulsar has joined #gnucash
13:58:22 *** Mechtilde has quit IRC
14:02:55 *** Mechtilde has joined #gnucash
14:07:20 *** Mechtilde has quit IRC
14:15:42 *** jervin has quit IRC
14:17:30 *** frakturfreak has joined #gnucash
14:17:30 *** ChanServ sets mode: +v frakturfreak
14:23:28 *** jervin has joined #gnucash
14:37:09 *** pulsar has quit IRC
15:04:43 *** ramontjunior has quit IRC
15:04:54 *** jralls has joined #gnucash
15:26:31 *** frakturfreak has quit IRC
15:30:19 *** frakturfreak has joined #gnucash
15:49:11 *** KaiForce has quit IRC
16:27:28 *** Gerd has quit IRC
16:35:26 *** gjanssens has quit IRC
16:37:09 *** sbluhm has quit IRC
17:12:27 *** frakturfreak has quit IRC
17:12:58 <fell> @tell jralls https://github.com/Gnucash/gnucash-on-windows/pull/33
17:12:58 <gncbot> fell: The operation succeeded.
17:15:40 * fell is wondering, why chris and warlord are not op'ed. He is so lonesome here. ;-)
17:25:33 *** oozer has joined #gnucash
17:43:56 <jralls> fell, I saw that and started a test build a few minutes ago.
17:43:56 <gncbot> jralls: Sent 10 hours and 37 minutes ago: <chris> hoping you can make sense of sysprof output. I can see 2 ways to speed up: xaccSplitGetBook can be cached, and (xaccDisableDataScrubbing) (xaccEnableDataScrubbing) around qif-importing.
17:43:57 <gncbot> jralls: Sent 30 minutes ago: <fell> https://github.com/Gnucash/gnucash-on-windows/pull/33
17:46:00 *** oozer has quit IRC
17:47:14 <jralls> Switching computers, brb.
17:47:18 *** jralls has quit IRC
17:50:20 *** jralls has joined #gnucash
17:51:26 *** ChanServ sets mode: +o jralls
17:57:52 *** calvinct has quit IRC
18:15:08 *** bertbob has quit IRC
18:23:54 *** bertbob has joined #gnucash
18:23:54 *** ChanServ sets mode: +v bertbob
18:31:46 *** jervin has quit IRC
18:43:04 <fell> jralls: FYI homebrew is shipping obsolete aqbanking versions, how I learnt from aqbanking-user tonight.
18:44:07 <jralls> fell, doesn't matter what Homebrew does with other packages: Their GnuCash package is our GnuCash.app.
18:45:50 <fell> Stefan pampel reported, he had
18:45:52 <fell> GnuCash MacOs 3.8b+(2019-12-29) aus Homebrew
18:45:53 <fell> aqbanking: stable 5.8.2 (bottled) ebenfalls aus Homebrew.
18:45:56 <fell> installed.
18:46:22 <chris> I found the best profiling tool: perf! "perf record -g ./gnucash" then "perf report'
18:47:48 <jralls> fell, One more time, it doesn't matter what AQBanking he installs with Homebrew. The GnuCash app bundle uses what's in the bundle and it's our release bundle.
18:50:35 <fell> OK, I will watch the thread
18:51:05 <jralls> chris, that's the perf that's part of the GCC tools, right?
18:51:22 <chris> yes
18:51:36 <chris> sudo apt install linux-tools-common
18:52:20 <chris> -g to enable stack recording
18:52:55 <fell> Can you both update https://wiki.gnucash.org/wiki/Coder_Tools with your experience?
18:54:01 <fell> E.g. the CMake parameters are still an enigma for me.
18:56:19 <jralls> fell, have you studied the cmake documentation? It's not reasonable for our wiki to document the world.
18:56:28 *** omnireq has quit IRC
18:57:14 <chris> I think the xaccTransCommitEdit hotspot is the qof-event processing at Transaction.c#L1615
18:57:31 <fell> jralls, I never found the time. :-(
18:57:44 <jralls> But the cmake params are mostly variables that you set, like -DCMAKE_INSTALL_PREFIX=/$HOME/apps/gnucash tells it to set up the install into that directory.
18:57:50 <chris> also xaccSplitCommitEdit on #1616 which recalculates account balances
18:58:20 <fell> yoou wrote about -pg?
19:00:17 <chris> fell: -pg is a gcc flag. no point documenting all of gcc knowledge in wiki
19:01:04 <jralls> fell, that was -DCMAKE_C_FLAGS="$CFLAGS -pg". $CFLAGS is a widely-used environment variable containing compiler options. -pg tells the compiler to insert profiling instructions into the generated machine code. CMAKE_C_FLAGS is the set of compiler passed to the compiler.
19:10:07 <chris> xaccDisableDataScrubbing is definitely useful during import: otherwise I think theres exponential slowdown when splits' balances are recalculated after each transaction import.
19:18:01 <chris> ^ bingo
19:18:47 <chris> after each txn import -> xaccTransCommitEdit -> xaccSplitCommitEdit -> xaccAccountRecomputeBalance which scans *ALL* accounts' splits (including all accounts touched by the transaction)
19:19:03 <chris> ^ that's one of them
19:23:32 *** jervin has joined #gnucash
19:23:36 <chris> also would be useful to explain 92ea3ba8H -- why is std::vector being constructed/deconstructed, why slowdown somewhere before 2018?
19:28:31 <jralls> chris, I think cstim is referring to the change to KVP paths. They used to be strings delimited with '/' but that caused trouble with account matching tokens containing that character so lmat reworked it to take a vector of strings.
19:30:12 <jralls> cstim's a little off: std::vector doesn't allocate, but copying strings around does if the std::library doesn't support small string optimization or the path elements are larger than the SSO max.
19:34:37 <jralls> That's BTW equally true of strdup, g_strdup, or g_printf_strdup. Allocation can be slow if you have a poor malloc library and gcc did until very recently.
19:39:12 <fell> jralls: Do we somewhere else reference https://www.aquamaniac.de/rdm/projects/aqbanking/files?
19:39:53 <jralls> fell Somewhere besides where?
19:40:00 <fell> Martin removed the betas and reordered the stable versions. So they got new numbers.
19:41:28 <fell> We updated gnucash-on- windows and gnucash-on-flatpak today. gnucash-on-osx will beak now.
19:42:50 <fell> See the MacOS thread on -devel.
19:44:08 <jralls> Ah. I've updated the gnucash-on-osx and I'm running a test build now.
19:44:22 <jralls> Those three should be the only places.
19:46:37 *** oozer has joined #gnucash
19:48:18 *** jervin has quit IRC
19:55:07 *** omnireq has joined #gnucash
19:58:06 *** omnireq has quit IRC
19:58:16 *** omnireq has joined #gnucash
20:28:52 <fell> chris, in master distcheck fails on the files registered in set (reports_standard_with_exposed_generator_SCHEME
20:30:49 *** omnireq_ has joined #gnucash
20:30:57 *** omnireq has quit IRC
20:37:32 <fell> I got also errors in check, redoing after clean ...
20:47:22 <fell> No luck, still 8 failed tests.
21:18:17 *** oozer has quit IRC
21:24:07 *** User__ has joined #gnucash
21:35:45 *** User__ has quit IRC
21:53:11 *** guak has quit IRC
22:33:33 *** jervin has joined #gnucash
22:58:15 *** marusich has joined #gnucash
22:58:15 *** ChanServ sets mode: +v marusich
23:22:04 *** marusich has quit IRC
23:24:34 *** omnireq_ has quit IRC
23:29:59 *** marusich has joined #gnucash
23:29:59 *** ChanServ sets mode: +v marusich
23:42:32 *** marusich has quit IRC
23:55:19 *** lidfill has joined #gnucash
23:57:01 *** lidfill has left #gnucash