IRC logs for #openttd on OFTC at 2025-12-16
            
00:01:57 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
00:03:49 *** WormnestAndroid has joined #openttd
00:04:42 *** MinchinWeb[m] has quit IRC (Read error: Connection reset by peer)
00:04:56 *** MinchinWeb[m] has joined #openttd
00:13:13 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
00:13:54 *** WormnestAndroid has joined #openttd
00:30:07 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
00:30:46 *** WormnestAndroid has joined #openttd
00:59:47 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
01:01:38 *** MinchinWeb[m] has joined #openttd
01:01:43 *** tokai has joined #openttd
01:01:43 *** ChanServ sets mode: +v tokai
01:08:40 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
01:19:44 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
01:20:26 *** WormnestAndroid has joined #openttd
02:02:34 *** Flygon has quit IRC (Remote host closed the connection)
04:44:48 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/483f1f0afa3ee1d7d0985f160f724bcdbb87e132
04:44:49 <DorpsGek> - Update: Translations from eints (by translators)
04:57:24 *** Zathras_11 has joined #openttd
05:00:56 *** Zathras_7 has quit IRC (Ping timeout: 480 seconds)
05:16:49 <andythenorth> why don't we give each tile a virtual CPU and storage?
05:17:19 <andythenorth> about 1024KB should be enough
05:17:49 <andythenorth> then we could parallelise the whole thing, 1 thread per tile
05:18:00 <andythenorth> they'd all have to call the same global random though
05:27:41 <DorpsGek> [OpenTTD/OpenTTD] Release workflow was not successful https://github.com/OpenTTD/OpenTTD/actions/runs/20257233924
05:46:41 <ahyangyi> andythenorth: Rewrite OpenTTD in Verilog?
05:46:50 <ahyangyi> Can give each tile a physical CPU and storage even
07:07:53 <ahyangyi> andythenorth: Anyways, at 1024 KB (or even 1024 bytes for that matter), each virtual CPU can have a local rng state
07:18:50 *** ufo-piloot has quit IRC (Ping timeout: 480 seconds)
07:19:13 *** firepup650 has joined #openttd
07:27:17 *** ufo-piloot has joined #openttd
07:45:57 <andythenorth> desyncs though
07:48:13 <ahyangyi> New feature: your single-player game can desync too!
07:58:24 *** toktik has quit IRC (Remote host closed the connection)
07:58:48 *** toktik has joined #openttd
09:02:49 *** flanzine has joined #openttd
09:05:35 <flanzine> Hey guys. I want to access the articles in the wiki of ottdcoop but it seem to have disappeared... Any clue on how to access it ? thx
09:08:53 <flanzine> the main site openttdcoop is still accessible but the wiki gives me a "502 bad gateway" answer
09:16:45 <peter1138> You might be able to find it on archive.org
09:48:50 <xarick> hi
10:00:48 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #14925: Codefix: Mark destructors override. https://github.com/OpenTTD/OpenTTD/pull/14925#issuecomment-3659728856
10:04:53 *** flanzine has quit IRC (Remote host closed the connection)
10:11:18 <xarick> time for me to finally rebase
10:11:32 <xarick> the new valuate
10:11:40 <xarick> introduces subrange stuff
10:22:56 <xarick> oh glx, i have an alternative idea! instead of saving the item, why not save the iterator instead, that avoids calling lower_bound on resume
10:23:28 <xarick> faster performance
10:25:17 *** Flygon has joined #openttd
10:56:36 <DorpsGek> [OpenTTD/OpenTTD] Rito13 updated pull request #14926: Codechange: Add GitHub workflow that checks new doxygen warnings. https://github.com/OpenTTD/OpenTTD/pull/14926
11:05:33 *** fairyflossy has quit IRC (Quit: User went offline on Discord a while ago)
11:28:04 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450449396004290742/image.png?ex=694293c4&is=69414244&hm=cf96c34c2f8861c8c5bbd9b88542763d51d98892b64f9009cd96de53d24f1b14&
11:28:04 <xarick> not sure i pass &iter or iter
11:43:31 <peter1138> iter is a temporary so you can't pass it by reference.
11:49:02 <xarick> thx
11:53:00 <xarick> nice, everything rebased successfully to latest master
11:53:33 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
11:53:34 *** WormnestAndroid has joined #openttd
11:53:49 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
11:53:50 *** WormnestAndroid has joined #openttd
11:53:53 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
11:54:05 *** WormnestAndroid has joined #openttd
11:54:13 <_glx_> Storing the item is simpler, and can be used when making other functions suspendable too
12:12:51 <xarick> not sure if it's fair for me to disable garbage collection during benchmarks
12:13:37 <xarick> but i've been benchmarking without that getting in the way
12:14:09 <xarick> the stalls are horrendous, unpredictable
13:05:05 <DorpsGek> [OpenTTD/OpenTTD] Rito13 opened pull request #14927: Codechange: Make doxygen warn about lack of description for function parameters. https://github.com/OpenTTD/OpenTTD/pull/14927
13:14:43 <locosage> whichever moron made continue rebase button do "git rebase --skip" in sublime merge deserves a special place in hell
13:16:46 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450476751515025408/image.png?ex=6942ad3e&is=69415bbe&hm=fd1d2da7f0c4600d6b298dab89cfb094f1c1db68ac70140393e1c87f58a42f8e&
13:16:46 <xarick> benchmarks finished! new graphs!
13:16:57 <xarick> I lose again
13:18:39 <xarick> hmm my tests don't test Valuate
13:19:33 <xarick> if I did, openttd master would go over 1500 or so
13:30:28 <andythenorth> Itโ€™s good that you are having fun
13:34:47 <xarick> ๐Ÿ™‚
13:36:38 <xarick> a few days ago I had an idea, to switch initialization postponing between this->value and this->items
13:37:03 <xarick> gonna try make it happen today
13:38:23 <rito12_51026> xarick: Where did jgrpp go?
13:39:32 <xarick> jgrpp is safe btree
13:39:36 <xarick> basically
13:40:49 <xarick> differences are... no memory tracking overheads
13:41:04 <xarick> that alone eats ~30 seconds
13:42:44 <xarick> or maybe his windows builds have asserts
13:42:53 <xarick> didn't build from his branch
13:42:59 <xarick> used one of his windows builds
14:19:37 <_jgr_> You say that you've disabled the GC in your test builds, but presumably that won't be the case for release builds of my branch
14:23:58 <xarick> oh, that's true
14:24:18 <xarick> maybe it's that
14:45:05 <DorpsGek> [OpenTTD/OpenTTD] jonaskremecek157-gif opened issue #14928: [Bug]: no train in editor https://github.com/OpenTTD/OpenTTD/issues/14928
14:51:43 <talltyler> what
14:55:17 <_glx_> everything is wrong in this report ๐Ÿ™‚
14:58:36 <LordAro> impressive
15:00:15 <xarick> coming from the starcraft editor wher you could edit unit properties
15:00:29 <xarick> maybe he thinks he could edit train properties
15:04:25 <rito12_51026> He specially created an account to submit that issue
15:07:41 <peter1138> A seller on Amazon has named themselves "โœ…โญPrim e Superfast Next Day Delivery ยฎโญโญโญโญโญ". Definitely legit...
15:09:53 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
15:10:39 <ahyangyi> How prim is the delivery?
15:11:10 <Rubidium> _glx_: well... at it uses English words
15:12:01 *** WormnestAndroid has joined #openttd
15:16:41 <ahyangyi> Would a hypothetical functionality to move trains in editors makes it easier to prepare title games?
15:22:54 <Rubidium> probably... but how much time does it save? Maybe 30 minutes, so if you can the complete functionality in two hours it might be worth it (https://xkcd.com/1205/). But I doubt that's a realistic timeline.
15:35:40 <xarick> `auto iter = this->values.lower_bound({value, std::numeric_limits<ScriptListValueSet::value_type::second_type> ::min()});`
15:35:40 <xarick> cursed coding
15:40:25 <xarick> oh, regression doesn't use KeepBelowValue
15:51:19 *** MinchinWeb[m] has quit IRC (Read error: Connection reset by peer)
15:51:36 *** MinchinWeb[m] has joined #openttd
16:01:20 <DorpsGek> [OpenTTD/OpenTTD] Rito13 updated pull request #14926: Codechange: Add GitHub workflow that checks new doxygen warnings. https://github.com/OpenTTD/OpenTTD/pull/14926
16:01:23 <DorpsGek> [OpenTTD/OpenTTD] Rito13 commented on pull request #14926: Codechange: Add GitHub workflow that checks new doxygen warnings. https://github.com/OpenTTD/OpenTTD/pull/14926#issuecomment-3661276352
16:02:28 <mmtunligit> does anyone know of any GRFs with objects that have OnlyInScenedit or OnlyInGame flags set for some objects?
16:04:19 <_glx_> https://github.com/OpenTTD/OpenTTD/compare/master...glx22:OpenTTD:scriptlist_values replaced map of sets with set of pairs
16:08:40 <xarick> wow!! really? didn't think someone would do the switch
16:09:43 <talltyler> mmtunligit: Rainforest Ruins has both. The ruins themselves are only in scenario editor (and map generation) while the college buildings are only in-game.
16:09:43 <talltyler> https://github.com/2TallTyler/rainforest_ruins
16:10:16 <mmtunligit> talltyler: perfect thank you
16:10:21 <xarick> you don't need a SetCompare, std::pair is lexicographyically sorted already
16:13:20 <xarick> let me review it
16:13:42 <xarick> oh, it's not a PR
16:18:51 <_glx_> ah indeed
16:20:24 <xarick> oh, you decided with the name item_iter for both ScriptList::ScriptListSet::iterator item_iter and ScriptList::ScriptListMap::iterator item_iter
16:21:11 <xarick> we went with value_iter for the set
16:21:53 <xarick> I'm not sure but a PostErase may be required, I'll test
16:22:42 <_glx_> I copy pasted from by item sorters
16:26:11 <xarick> line 53 should still test for empty
16:26:24 <xarick> this->list->values.empty()
16:30:15 <_jgr_> xarick: It isn't necessary for this
16:37:35 *** gelignite has joined #openttd
16:46:08 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
16:46:34 *** WormnestAndroid has joined #openttd
16:48:58 <xarick> i remember my troubles with the darned iterator
17:01:15 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450533245505507409/image.png?ex=6942e1db&is=6941905b&hm=ecbff48839ca265a3d4a3c53e8533dbd1f3e7728def215d33ffaae557bbe13be&
17:01:15 <xarick> well...
17:01:36 <xarick> my regression tests that is
17:03:25 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450533791381717114/image.png?ex=6942e25d&is=694190dd&hm=d45d1421f54f106de8a8b15b9959b1bdf64235876fce9971f7827273d9a27a36&
17:03:25 <xarick> possibly the omission of this->lists->values.empty()
17:03:36 <_zephyris> talltyler: If you happen to be around... Looking at TrueBrain's notes, looks like there's a strict zip directory structure - could that be the error?
17:07:30 <xarick> _glx_: confirmed, line 53 needs either `this->list->items.empty()` or `this->list->values.empty()`
17:10:46 <xarick> `return this->list->values.empty() || this->has_no_more_items;`
17:11:30 <xarick> as for the iterators needing post erase... looks like it's not required, but I'd still test against macos
17:11:46 <xarick> i dont have mac
17:20:50 *** gelignite has quit IRC ()
17:21:01 *** Wormnest has joined #openttd
17:45:51 *** Wolf01 has joined #openttd
17:53:13 *** nucrow has joined #openttd
17:53:13 <nucrow> https://cdn.discordapp.com/attachments/1008473233844097104/1450546321474850876/image.png?ex=6942ee08&is=69419c88&hm=74329789c4a5b773dbfdba9cd2720a974aff7bf970f2d6e197291dbb816c5eab&
17:54:14 <nucrow> The non-funded growth speed for towns first first drops, then grows. Is this non-monotonous behavior intentional?
17:57:45 <_zephyris> Read the comment... Looks like it is intentional, and is monotonous
17:59:09 <nucrow> Oh god, how did I miss that
17:59:21 <nucrow> Sorry
18:00:12 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450548078498287829/image.png?ex=6942efab&is=69419e2b&hm=1e4b722653a843de62472bc099fb0a823e1a74658f64fdc30ac687d2f7e6f806&
18:00:12 * xarick glx
18:00:21 <_zephyris> No problem ๐Ÿ™‚ Would've confused me too!
18:00:31 <xarick> and i dont even use valuate on this test
18:02:03 <xarick> maybe i should setup a dedicated valuate test
18:02:34 <DorpsGek> [OpenTTD/OpenTTD] minchinweb commented on issue #14864: [Bug]: AI Console line overflow https://github.com/OpenTTD/OpenTTD/issues/14864
18:15:35 <xarick> visual studio 18.1.1 - gonna check if clang builds
18:17:16 <xarick> nop.. manifest again
18:33:30 <peter1138> https://hachyderm.io/@fasterthanlime/115730529166857536
18:36:05 <Rubidium> wait what? safe_sleep didn't make enough money already?
18:37:09 <DorpsGek> [OpenTTD/OpenTTD] mmtunligit opened pull request #14929: Fix a41738e: Object recolour depends on gamemode https://github.com/OpenTTD/OpenTTD/pull/14929
18:45:32 *** MinchinWeb[m] has quit IRC (Read error: Connection reset by peer)
18:46:10 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #14929: Fix a41738e: Object recolour depends on gamemode https://github.com/OpenTTD/OpenTTD/pull/14929#pullrequestreview-3584505724
18:46:45 *** MinchinWeb[m] has joined #openttd
18:48:54 <DorpsGek> [OpenTTD/OpenTTD] mmtunligit updated pull request #14929: Fix a41738e: Object recolour depends on gamemode https://github.com/OpenTTD/OpenTTD/pull/14929
18:52:09 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #14929: Fix a41738e: Object recolour depends on gamemode https://github.com/OpenTTD/OpenTTD/pull/14929#pullrequestreview-3584524886
18:53:04 <peter1138> https://kolektiva.social/@pivic/115729470652946753
18:53:34 <DorpsGek> [OpenTTD/OpenTTD] mmtunligit updated pull request #14929: Fix a41738e: Object recolour depends on gamemode https://github.com/OpenTTD/OpenTTD/pull/14929
18:54:55 <DorpsGek> [OpenTTD/OpenTTD] mmtunligit updated pull request #14929: Fix a41738e: Object recolour depends on gamemode https://github.com/OpenTTD/OpenTTD/pull/14929
18:56:18 <mmtunligit> blegh, sorry for CI spam
18:58:47 <DorpsGek> [OpenTTD/OpenTTD] glx22 opened pull request #14930: Codechange: [Script] Replace map of sets with set of pairs for per value storage https://github.com/OpenTTD/OpenTTD/pull/14930
19:02:58 <mmtunligit> also could i get the backport requested tag put on my bugfix? the thing its fixing was in RC1. I either dont know how to do that myself or are not allowed to, im guessing the second
19:17:07 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #14929: Fix a41738e: Picker item recolour depends on gamemode https://github.com/OpenTTD/OpenTTD/pull/14929#pullrequestreview-3584601409
19:42:05 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #14927: Codechange: Make doxygen warn about lack of description for function parameters. https://github.com/OpenTTD/OpenTTD/pull/14927#pullrequestreview-3584682250
19:50:05 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450575733482062046/image.png?ex=6943096d&is=6941b7ed&hm=003a680a9fd514d839bc167feffa0bf96e73c830c4e1adb2618be84d87598b79&
19:50:14 <xarick> oh, the numbers
19:51:05 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450575984578396352/image.png?ex=694309a9&is=6941b829&hm=c46111eda0e3a0a15fd6aa772339c17b1494e8a39c5b2d864c6d08e5fed7344d&
19:55:15 <SigHunter> https://ibb.co/4gT1D8Cy those (somewhat new?) thicc rivers are awesome
19:55:41 <SigHunter> just feels natural
19:59:14 <_glx_> xarick: That's your test valuating with a different value for each item then valuating to 0?
19:59:21 <xarick> yes
20:00:19 <_glx_> So set of pairs seems good enough
20:01:57 <xarick> I wonder wether i implement value_iter tracking on my bplustree branch
20:02:46 <xarick> should expect 135-140 seconds total time
20:04:37 <xarick> but swaping lists would require revalidating all iterators
20:04:43 <xarick> so that's a big loss there
20:08:58 <xarick> and my iterators cost 24 bytes each...
20:09:07 <xarick> that's definitely not looking good
20:09:21 <_zephyris> Filling small seas tends to give longer rivers, and longer rivers tend to be thicker rivers
20:10:33 <xarick> std::set iterator is only 8 bytes
20:11:21 <xarick> no idea how big is a safe btree iterator
20:17:28 <xarick> _glx_: actually it's valuating to 1, but same idea
20:18:23 <xarick> returns a true, which becomes 1
20:18:32 *** MinchinWeb[m] has quit IRC (Remote host closed the connection)
20:18:54 *** MinchinWeb[m] has joined #openttd
20:18:57 <xarick> GSDate.IsValidDate
20:37:51 <xarick> regression doesn't use keepbetween value :/
20:41:16 <xarick> gonna add more tests
21:07:17 <DorpsGek> [OpenTTD/OpenTTD] glx22 opened pull request #14931: Codechange: [Script] Reduce code duplication in ScriptList filtering https://github.com/OpenTTD/OpenTTD/pull/14931
21:10:34 <DorpsGek> [OpenTTD/OpenTTD] Rito13 opened issue #14932: [Bug]: Overflow of badges couses undefined badges to be defined. https://github.com/OpenTTD/OpenTTD/issues/14932
21:14:43 <xarick> oh...
21:17:32 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
21:18:17 *** MinchinWeb[m] has joined #openttd
21:20:14 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #14931: Codechange: [Script] Reduce code duplication in ScriptList filtering https://github.com/OpenTTD/OpenTTD/pull/14931#pullrequestreview-3584982624
21:20:14 *** MinchinWeb[m] has quit IRC (Read error: Connection reset by peer)
21:20:53 <xarick> wait, let me test first
21:21:10 <xarick> benchmark
21:22:05 *** MinchinWeb[m] has joined #openttd
21:22:10 <_glx_> change should not be noticeable, except maybe for RemoveList and KeepList
21:22:37 <xarick> I have a few stuff you could take a look about those, let me find
21:23:51 <xarick> <https://github.com/SamuXarick/OpenTTD/pull/28/changes/e8af06cc2daebd3db6c9115fa2b7409f03491299> KeepList
21:24:20 <xarick> <https://github.com/SamuXarick/OpenTTD/pull/28/changes/c5095cdc3aba9475824e4ea4341c3f8e32cbca4a> RemoveList
21:24:36 <xarick> <https://github.com/SamuXarick/OpenTTD/pull/28/changes/f71cd0d344b6f667a9c2e6bff57163a21400f232> AddList
21:27:31 <_glx_> ah yes you like when code is complex for no reason ๐Ÿ™‚
21:29:02 <xarick> well yeah, I was looking from the performance angle
21:30:33 <andythenorth> developer performance is what matters most
21:30:46 <andythenorth> the other performance is important, but less important
21:34:31 <_jgr_> Perhaps, but there are also several orders of magnitude more players than developers
21:35:21 <andythenorth> things that are too complex to review don't make it to the playerbase? ๐Ÿ‘€
21:35:26 <_jgr_> I for one am fine with spending a bit of time for an overall net saving
21:35:37 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1450602291425185812/image.png?ex=69432229&is=6941d0a9&hm=8682cd28c1e63c3fd794f5c43df693659431f81586264de0605f1d094d9f3411&
21:35:37 <andythenorth> pff I can't get Horse to compile any faster using shopping ๐Ÿ˜
21:36:19 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1450602464662257744/image.png?ex=69432252&is=6941d0d2&hm=8508234529256bb7624901265b3dc766f8d4319cc7f33fa46be72068d7dc32c4&
21:36:23 <andythenorth> maybe Xarick could optimise it
21:37:56 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1450602873154044077/image.png?ex=694322b3&is=6941d133&hm=1793bd14c985dce45236c2c1b5acd7af1be72316e4f2a0f88e95015672f3f0e5&
21:37:56 <andythenorth> is a Ryzen 9 9950X a good CPU?
21:38:37 <reldred> Itโ€™s nearly their top of the line desktop CPU
21:38:45 <reldred> 9950X3D is better
21:38:50 <_glx_> expensive though
21:38:54 <andythenorth> can't find a laptop with it
21:38:55 <reldred> Yeas
21:39:02 <xarick> if you like noisy fans, yeah
21:39:07 <reldred> andythenorth: Itโ€™s not a laptop part
21:39:14 <_glx_> you won't find a laptop with it (too much heat)
21:39:26 <andythenorth> it's a bit lol when technology stalls
21:39:35 <reldred> They make some lovely APUโ€™s though
21:39:37 <andythenorth> usually my laptop is kind of mid range
21:39:52 <andythenorth> seems computing has got stuck making LLM prompts
21:40:04 <andythenorth> instead of making my grf compile faster
21:40:04 <reldred> Well nobody can afford RAM now
21:40:10 <rito12_51026> andythenorth: Could strong typing speed up python? Does it even matter to the interpreter?
21:40:20 <andythenorth> ๐Ÿคท
21:40:30 <andythenorth> rewriting nml to rust would probably eliminate most of the slow
21:40:38 <andythenorth> truegrf compiles ~instantly
21:40:54 <andythenorth> but then most of nml is parsing the input file
21:41:43 <_glx_> you could probably save a lot by skipping nml file and generate the AST directly
21:41:58 <andythenorth> I am not smart enough ๐Ÿ™‚
21:42:09 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #14772: Add: Several more regression tests for ScriptList https://github.com/OpenTTD/OpenTTD/pull/14772
21:42:51 <_jgr_> The Iron Horse NML is very long
21:43:02 <_jgr_> Just making it shorter is probably an easier problem
21:43:04 <andythenorth> partial compiles would have been a massive benefit ๐Ÿ™‚
21:43:15 <rito12_51026> andythenorth: Use grfpy???
21:43:22 <andythenorth> I deleted 20% of the trains, which cut about 10s out
21:43:45 <andythenorth> shame we can't bundle grfs into a single package
21:44:10 <andythenorth> probably way too complicated
21:44:18 <andythenorth> grfid, etc
21:54:03 <xarick> okay gonna test 14931
21:55:33 <xarick> with garbage collector disabled
21:55:42 <xarick> i really shouldn't test like this
21:59:34 <xarick> i test with KeepBetweenValue and KeepBottom only
22:00:30 <xarick> i got a separate test for KeepList
22:01:21 <xarick> and another for RemoveList
22:01:24 <xarick> and another for AddList
22:17:02 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
22:20:58 <DorpsGek> [OpenTTD/OpenTTD] OpenCharlie updated pull request #14868: Improved Water Edges https://github.com/OpenTTD/OpenTTD/pull/14868
22:24:17 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:27:42 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
22:27:45 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450615410545266719/image.png?ex=69432e61&is=6941dce1&hm=ef3d92d3679f7fb2fe88545f149a5e07009f444a786ca2240dd29481ee6abe1c&
22:28:00 <xarick> i need to give details
22:28:49 *** WormnestAndroid has joined #openttd
22:29:03 <xarick> it creates 2 lists each with 30 million items
22:29:35 <_glx_> yeah RemoveList is a little worse (expected)
22:29:36 *** WormnestAndroid has quit IRC (Remote host closed the connection)
22:29:38 <xarick> items are randomized, so actually it's not really 30 million, but up to 30 million, tipically ends with 18 million each
22:29:56 *** WormnestAndroid has joined #openttd
22:29:56 <xarick> then one list casts RemoveList on the other
22:30:19 <xarick> the test is for the whole duration of creating the two lists and then removing
22:32:01 <xarick> gonna try pinpoint only the removelist duration
22:32:51 <_glx_> it now iterates all items from this, while master only iterates from the to be removed list
22:33:49 <locosage> andythenorth: truegrf is slower than nml in sprite encoding :p
22:34:18 <locosage> and that's kind of the only truly computation-intensive part of grf compilation
22:34:38 <locosage> unless there is some image processing
22:35:47 <locosage> custom processing I mean and that takes the same time regardless of the compiler
22:42:58 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
22:46:22 *** WormnestAndroid has joined #openttd
22:59:15 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450623340006871220/image.png?ex=694335c3&is=6941e443&hm=f6b9490bfe3419d6dbb21f63868d935df02719ec3c6bdc703f61c2a2ba4cfaa4&
22:59:15 <xarick> this time ran two timers in parallel. One timer stops once the 2 lists are generated. the other timer stops when the test completes. I then calculated the time just for the RemoveList action
23:00:13 <xarick> > Running openttd glx scriptlist_remove.exe with config openttd.cfg - Iteration 1
23:00:13 <xarick> > [2025-12-16 22:46:14] dbg: [script:0] [18] [S] Your script made an error: Tests completed in: 191 secs, or in: 158 secs
23:00:24 <xarick> the log says something like that
23:02:14 <_glx_> yes and RemoveList is expected to be a little slower
23:04:36 *** Flygon_ has joined #openttd
23:05:03 <xarick> let me test keep list since u cahnged it too
23:11:27 *** Flygon has quit IRC (Ping timeout: 480 seconds)
23:26:40 <xarick> excel is dumb with colours
23:27:00 <xarick> i want to set the colour of one bar only, and it sets it for all
23:31:23 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450631423391174790/image.png?ex=69433d4a&is=6941ebca&hm=15600f61a74a1aeba8a61fb991c84a3080417a19929f13bd9410572863ce9918&
23:31:23 <xarick> sorry about colours
23:32:54 <_glx_> expected results
23:33:10 <_glx_> slower RemoveList, faster KeepList
23:34:32 <_glx_> but if you combine both PR everything will be faster than master
23:35:21 <xarick> the dual iterator walk reduces it to 10 secs, i think
23:36:09 <xarick> but that branch has a bunch of other optimizations baked in
23:36:56 <xarick> best case 10, worst case 20
23:38:48 <xarick> ok let's combine both PRs, if they don't conflict
23:40:19 <xarick> nice, no conflicts, gonna test
23:40:46 <xarick> KeepList first?
23:55:06 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1450637391810396303/image.png?ex=694342d9&is=6941f159&hm=d1fd90004bdb472d6120a58799096db0db9be969f388566ff5a8f5383ab2fee5&
23:55:18 <xarick> can't get around with the colours