Config
Log for #openttd on 14th August 2023:
Times are UTC Toggle Colours
05:59:14  <Bouke> truebrain: At least for wentbourne this PR improved CPU quite a bit: https://github.com/OpenTTD/OpenTTD/pull/10055. All saves with a substantial amount of wagons would benefit from this.
06:03:32  <truebrain> Are you now sticking a feather up your own ass? 😄 😛 (sorry, couldn't resist 😄 )
06:10:32  <truebrain> bit weird ... westbourne memory dropped by 30% on 2023-03-01, where it wasn't the case on 2023-02-26 .. but no commit around that time actually stands out where I am like: yeah, that would explain it
06:12:03  <truebrain> ah, no, the commit it picked up from 2023-02-26 is a bit weird, but okay .. so this is most likely the rework of how linkgraph is stored
06:12:19  <truebrain> `Only store present link graph edges and not all possible edges`
06:12:22  <truebrain> that sounds reasonable
06:12:26  <Bouke> truebrain: Yes 😛
06:12:33  <truebrain> yeah, just checking 😛
06:13:26  <Bouke> However it doesn't feel nice (the feather that is...)
06:13:39  <truebrain> sounds like a "you" problem
06:13:40  <truebrain> 😄
06:14:41  <Bouke> In https://github.com/TrueBrain/OpenTTD-performance/blob/main/build.sh#L9C31-L9C31 you strip out assertions, but how does that work for the regular release, assuming that would be a github action?
06:15:26  <truebrain> no, for `release/` branches that is a change made in the actual code
06:15:32  <Bouke> truebrain: If you really want to know, a git bisect would narrow it down.
06:16:35  <truebrain> I am more surprised by how `--before` works in git .. it feels somewhat random whether it includes the day itself or not
06:18:10  <Bouke> truebrain: Like a global search and replace (remove)?
06:18:41  <truebrain> no, just check the `release/` commit history, you will find a commit that changes the assert option from off to on (or the other way around)
06:20:37  <Bouke> Ah yes, found it: https://github.com/OpenTTD/OpenTTD/commit/ac31c1043e687e988596cf2840456e35f78dd69b
06:24:19  <truebrain> I am trying to understand why my scripting picked a certain hash on a certain date .... and I can't reproduce the result
06:24:20  <truebrain> lol
06:28:48  <truebrain> as if something changed between yesterday and today ... this is so odd
06:30:20  <truebrain> yesterday, the fucking same script, picked `20230226--ma18182e24b` for that date .. today it picks `20230226--m6fcc8727f5`
06:30:25  <truebrain> but the result of yesterday makes NO sense ..
06:32:17  <Bouke> truebrain: Could I use the regular nightly build script for it, or would I need a build without assertions? I guess the nightly suffices, however that means adding assertions are considered a penalty then.
06:33:26  <truebrain> nightlies are build with asserts on
06:33:28  <truebrain> so they are slower
06:33:39  <truebrain> does it matter for relative comparison? No clue
06:34:04  <truebrain> I don't even know if running this on GitHub runners is stable .. or worded differently: how much noise it would introduce
06:34:12  <truebrain> that is for you to find out I guess 😄
06:36:39  <truebrain> hmm .... that this `--before` in git now returns different results is very annoying, as that means all the binaries I have been building are now not always the ones it will use on a next run .. which is not what the idea was behind it, ofc 😄
06:38:27  *** Wolf01 has joined #openttd
06:43:37  <truebrain> the only thing that makes sense if is the timezone changed on this machine .. which can't be the case .. but that would be the only thing that makes sense
06:47:52  <pickpacket> according to nml I have 6 orphaned sprites. Is there an easy way to find them?
06:48:49  <Bouke> truebrain: Different terminal with different environment variables having a differen2023-08-14T13:59:31  <Bouke> Colour me confused. I've installed https://bananas.openttd.org/package/game-script/5455545f, but the script is not showing up in the script selection menu.
14:00:44  <Bouke> In order to learn from other gamescripts on bananas, I'd have to download them ingame and then unpack?
14:01:10  *** _aD has joined #openttd
14:12:42  <_glx_> no need to unpack
14:13:00  <_glx_> when you download ingame they are in a tar
14:20:15  <_glx_> but this script might be hidden (depending on some settings)
14:26:55  <_glx_> and it seems the list is not updated when gui.ai_developer_tools changes
14:38:05  *** nielsm has joined #openttd
15:09:19  *** gelignite has joined #openttd
15:11:28  *** _aD has quit IRC
15:40:45  <DorpsGek> [OpenTTD/OpenTTD] Bouke commented on issue #10083: [Bug]: Cheats menu doesn't work by default on macOS https://github.com/OpenTTD/OpenTTD/issues/10083
15:50:26  *** Wormnest has joined #openttd
16:04:32  *** _aD has joined #openttd
16:40:50  *** HerzogDeXtEr has joined #openttd
17:18:34  <_glx_> ```1> [CMake] Duplicate file for openttd_lib: D:/developpement/GitHub/glx22/OpenTTD/src/network/core/core.h
17:18:34  <_glx_> 1> [CMake] Duplicate file for openttd_lib: D:/developpement/GitHub/glx22/OpenTTD/src/network/core/game_info.cpp
17:18:34  <_glx_> 1> [CMake] Duplicate file for openttd_lib: D:/developpement/GitHub/glx22/OpenTTD/src/strgen/strgen.h
17:19:39  <_glx_> paths are just for me to see where
18:35:45  <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1140715401265827911/image.png
18:35:45  <truebrain> seems there is another savegame that behaves a bit weird. But otherwise data is getting more and more accurate. The yellow line is when a linkgraph change landed that heavily reduced memory usage. The CPU graph feels "messy", but it really isn't. Just a few savegames that I didn't run for long enough to be accureate. Now I just have to let it gather some more data to see what commit actually
18:35:45  <truebrain> caused a positive or negative change 🙂
18:37:14  <truebrain> https://cdn.discordapp.com/attachments/1008473233844097104/1140715774181396561/image.png
18:37:14  <truebrain> a bit cleaned up CPU graph, where you can see arond 2021-12 there was a regression, and around 2022-10 there was a good change 🙂
18:37:25  <truebrain> now I just want to know what caused the regression there 😛
18:37:44  <truebrain> (there is also a regression around 2022-07, but it is a bit harder to spot
18:38:26  <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/e652cd643423924c60a67091142f9583fba9c442
18:38:27  <DorpsGek>   - Update: Translations from eints (by translators)
18:38:40  <peter1138> Does the CPU graph include starting up OpenTTD itself?
18:38:46  <truebrain> yes
18:39:37  <truebrain> that among other things is what makes the smaller runs a lot more noisy
18:45:47  <truebrain> so the increase in CPU from 2021-12, was at 2021-12-16, when the command system was changed to be more template-magic .. I just fail to see how that impacts performance for this kind of performance testing 😄
18:45:55  <truebrain> There are no AIs or GSes, so .. no commands?
18:49:26  <michi_cc[d]> Commands are used locally, too, for example CMD_LANDSCAPE_CLEAR can be called from tile loop things as well.
18:49:38  <truebrain> ah .. did not know 😄
18:49:52  <truebrain> so yeah, that was a 5% impact on some games
18:50:44  <michi_cc[d]> It not the main use of commands, but stuff like planting fields, (tropical) lumber mill or flooding use commands to get all the proper checks "for free).
18:54:29  <truebrain> the drop around 2022-10 is because of the framerate change for trains
18:56:08  <truebrain> https://github.com/OpenTTD/OpenTTD/commit/dd93244853 is a ~2% penalty on big-train maps .. I did not expect that, honestly
18:58:20  <truebrain> so let me check if the stats are actually correct 😄
18:59:14  <truebrain> yup, it actually is that commit .. very odd
19:05:57  <truebrain> 2 more interesting points in 2023, but I need more data first to pinpoint those .. but that is all the commits with significant CPU impact
19:06:01  <truebrain> I am kinda shocked there are so few 😛
19:07:24  <_jgr_> The CMD_ALL_TILES test should be cheaper than the IsValidTile test, so you could perhaps get a small saving by doing them in the other order
19:07:53  <truebrain> that is worth trying
19:08:03  <truebrain> what surprises me more, is that the commit reads as if it only impacts networking games
19:08:11  <truebrain> so I am a bit puzzled how it impacts this performance test 😄
19:11:35  <peter1138> "received from a client"... in a single player performance test... Hmm.
19:14:05  <peter1138> Surprising if IsValidTile() is a performance issue, it doesn't do much, except for accessing the map.
19:18:28  <truebrain> yeah, need to confirm it is actually that commit, but everything suggests it is
19:18:28  <truebrain> odd
19:18:40  <pickpacket> The topic still says 13.3
19:21:01  *** glx has joined #openttd
19:21:01  *** ChanServ sets mode: +v glx
19:21:23  <glx> @topic set 1 13.4
19:21:23  *** DorpsGek changes topic to "13.4 | Website: *.openttd.org (source: github, translator: translator, server list: servers, wiki: wiki) | Don't ask to ask, just ask | 'Latest' is not a valid version, 'Most recent' neither | English only"
19:21:37  *** glx has quit IRC
19:21:46  <_glx_> fixed 🙂
19:55:36  <truebrain> michi_cc[d]: would it be difficult to not use the command system for those calls? Just wondering out loud, more than anything
20:07:59  <FLHerne> truebrain: do any of the savegames you're testing use grfs?
20:08:05  <truebrain> yes
20:08:36  <_glx_> ```1> [CMake] openttd_lib: D:/developpement/GitHub/glx22/OpenTTD/src/network/core/core.h filename is a duplicate of D:/developpement/GitHub/glx22/OpenTTD/src/3rdparty/fmt/core.h
20:08:42  <FLHerne> I find by far the biggest perf hit for me is sprite action evaluation for stuff like FIRS industries
20:08:53  <_glx_> the last one is funny 🙂
20:09:15  <truebrain> I am not measuring what takes time; I am measuring if we have regressions 🙂
20:09:28  <truebrain> and if so, what we can learn from them, if anything
20:09:37  <FLHerne> truebrain: ok, thanks, just didn't see any in the screenshot Wentbourne + titlescreens
20:09:52  <truebrain> you can see in one of the others what maps are loaded
20:09:53  <FLHerne> truebrain: yeah, but regressions in grf action evaluation would be bad
20:09:54  <truebrain> but there are many 😄
20:10:06  <FLHerne> (or gains would be good, like that improvement in sprite caching)
20:10:35  <peter1138> TrueBrain is measuring changes that happened, not potential changes.
20:10:35  <truebrain> regressions in grf handling will be picked up 🙂 Or should ..
20:13:51  <FLHerne> peter1138: There was a real commit that significantly improved caching of some industry-tile actions, I was just trying to find it
20:13:56  <FLHerne> unless I hallucinated it again
20:14:52  <FLHerne> this definitely exists for vehicles https://github.com/OpenTTD/OpenTTD/pull/8485
20:15:43  <FLHerne> yeah, I think this was the one I remembered and I dreamed the bit about industry tiles :p
20:16:08  <peter1138> Okay, so I cna get remote xterm to display, but remote OpenTTD is eluding me 2023-08-14T22:43:52  <truebrain> I can't find a normal explanation 😛
22:49:21  <truebrain> the `tile >= MapSize() || ` is btw cute; `IsValidTile` also does that 😛
22:51:58  <_jgr_> tile >= MapSize() still needs to be checked even for the CMD_ALL_TILES case
22:52:12  <truebrain> yeah, so reordering the if-statement would be more efficient
22:52:19  <truebrain> but still, from what I can tell it is called once .. so ...
22:52:25  <truebrain> why is it having such trouble with it?
22:54:05  <truebrain> it could be some weird command that is prevented by this check, but it doesn't even return 😛
22:59:03  <truebrain> if I make the if-statement a bit smaller, it doesn't slow down as much .. lol
22:59:24  <_jgr_> Is it all the saves that see a change on that commit or just some of them?
22:59:32  <truebrain> just some of them
23:00:01  <truebrain> they are the ones that run relatively shorter, so it might be some savegame loading overhead
23:00:09  <truebrain> but still, I wouldn't expect that if-statement to influence it 😛
23:01:36  <truebrain> also weird that in master this behaviour doesn't exist, but I don't see anywhere where the performance is regained .. and as it is pretty visible, I would have expected that
23:01:55  <truebrain> although ofc it could be during another change
23:02:07  <truebrain> just weird 😛 I don't like weird 😄
23:03:01  <truebrain> I can understand if that if-statement makes the function too big so compilers don't inline it or something .. but that would require more than one call 😛
23:09:18  <truebrain> if I force-inline it, I get my performance back
23:09:19  <truebrain> lol
23:09:29  <truebrain> so that if-statement pushed it over the threshold of this compiler I am using
23:09:31  <truebrain> FML 😛
23:10:24  <truebrain> let's see what it does on master
23:10:37  *** debdog has quit IRC
23:13:50  <talltyler> truebrain: Nope 😦
23:14:18  <talltyler> Trying to compare before and after the rebase but my git skills aren't quite good enough
23:14:54  <truebrain> 😦
23:19:52  <truebrain> force inlining it in master doesn't make a real difference. Owh well, I guess at least that somewhat explains it 😛
23:19:59  <truebrain> super weird
23:20:11  <talltyler> Somehow git diff keeps showing me code from...master?
23:20:24  <talltyler> Even when I give it commit hashes from reflog
23:21:51  <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #10700: Codechange: Split dates and timers into Economy and Calendar time https://github.com/OpenTTD/OpenTTD/pull/10700
23:22:27  <talltyler> Maybe it's easier to see what I missed when I can view commits online
23:22:38  *** debdog has joined #openttd
23:24:44  <truebrain> ah, I didn't actually disable linkgraph as I hoped; the settings can't be large enough to make that happen
23:26:13  <talltyler> Aha, that might be it
23:26:26  <truebrain> all 4 distribution modes are on manual
23:26:31  <truebrain> guess that means linkgraph is also not doing anything?
23:27:41  <truebrain> why is Autosave both in settings and in game options? Weird
23:31:30  <_glx_> talltyler: maybe you should try "github desktop"
23:34:35  *** Wolf01 has quit IRC
23:35:35  <_jgr_> truebrain: The settings for these are stored in the savegame, so changing it in the config won't have any effect
23:36:00  <truebrain> did not know!
23:36:04  <_jgr_> If the savegame had any pending jobs they'll be started straight away on load as well
23:36:19  <truebrain> but when everything is on manual, they don't restart, right?
23:36:48  <truebrain> tomorrow I will check if any jobs are pending in that savegame .. would explain a thing or two 🙂
23:37:20  <_jgr_> If it's manual it shouldn't start any jobs
23:37:57  <truebrain> Tnx!
23:38:05  <truebrain> Now: zzz time 🙂
23:38:25  <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #10700: Codechange: Split dates and timers into Economy and Calendar time https://github.com/OpenTTD/OpenTTD/pull/10700
23:39:12  *** _aD has quit IRC
23:45:39  <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #10700: Codechange: Split dates and timers into Economy and Calendar time https://github.com/OpenTTD/OpenTTD/pull/10700
23:45:44  <talltyler> Okay, fixed it! That's enough for today. 🙂
23:51:05  *** tokai has joined #openttd
23:51:05  *** ChanServ sets mode: +v tokai
23:57:52  *** tokai|noir has quit IRC
23:58:04  <_jgr_> truebrain: Actually, looking at the code, it seems the jobs are run anyway, they just don't have as much work to do

Powered by YARRSTE version: svn-trunk