Author Topic: Converting OXCE to rapidyaml  (Read 8565 times)

Offline Yankes

  • Global Moderator
  • Commander
  • ***
  • Posts: 3360
    • View Profile
Re: Converting OXCE to rapidyaml
« Reply #165 on: December 03, 2024, 12:56:24 am »
`mutable`?

[ps]

btw, for now we should keep all speedups to after deploy. Stash this change for later.
for now we need weed out all bugs that could linger in new version.

I planed today prepare new RC but I have very busy day and I did not find enough time to sit down and prepare all changes.
« Last Edit: December 03, 2024, 01:00:31 am by Yankes »

Offline Delian

  • Commander
  • *****
  • Posts: 527
    • View Profile
Re: Converting OXCE to rapidyaml
« Reply #166 on: December 03, 2024, 12:57:07 pm »
That's it! I didn't know that keyword existed lol. And it's a perfect fit for this use case. Well, I should've made _index mutable as well, so I wouldn't need to make a copy of the reader every time I needed to make one. Ok, I'll leave that change for later then, together with script caching, which I put on a separate branch. Although, doesn't it make sense to try to cram in as many changes as possible before everything is retested? I mean, if everything has to be retested anyways...
Oh, I also merged everything except for the alias stuff from the rc0 branch to mine.

Offline Yankes

  • Global Moderator
  • Commander
  • ***
  • Posts: 3360
    • View Profile
Re: Converting OXCE to rapidyaml
« Reply #167 on: December 03, 2024, 01:30:39 pm »
if too many changes will be done at once then multiple bugs can creep in at once. And in worse case make everything "work" but when you try fix some corner cases then all bugs will surface again in other places.
When we include biggest change and test it fully, then small optimization could be tested locally without worrying that big change could interfere with small one.

btw I do not think merging is good strategy in this case, as I make rebase of your changes, next RC1 will be another rebase (I will push changes on RC0 too but without rebase, for you to see what I changed). I do this mainly because I try with Meridian keep linear hisotry and atomic commits as this allow easy bisection of bugs (as we can find exactly what commit break some mods).

Offline Yankes

  • Global Moderator
  • Commander
  • ***
  • Posts: 3360
    • View Profile
Re: Converting OXCE to rapidyaml
« Reply #168 on: Today at 02:27:31 am »
New version for testing: https://github.com/Yankes/OpenXcom/tree/stash/rapidyaml-rc1
I stashed all speed improvements and only keep basic yaml changes + clean warning.

@Delian
For now I renamed `sansRoot`  to `toBase` as your name at least for me is not clear.
But more I think about this, do we need this for anything? Slicing is only dangerous
when we have polymorphic types but in our case this is not true, sliced or not behavior is same.

Do you have any case when implicit slice would break our code?