• xthexder@l.sw0.com
    link
    fedilink
    arrow-up
    5
    ·
    1 day ago

    22 characters is significantly less useful than 255 characters. I use this for resource name keys, asset file paths, and a few other scenarios. The max size is configurable, so I know that nothing I am going to store is ever going to require heap allocations (really bad to be doing every frame in a game engine).

    I developed this specifically after benchmarking a simpler version and noticed a significant amount of time being spent in strlen(), and it had real benefits in my case.
    Admittedly just storing a struct with a static buffer and separate size would have worked pretty much the same and eliminated the 255 char limitation, but it was fun to build.

    • FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      6 hours ago

      22 characters is significantly less useful than 255 characters.

      You can still use more than 22 characters; it just switches to the heap.

      nothing I am going to store is ever going to require heap allocations

      I would put good money that using 256 bytes everywhere is going to be slower overall than just using the heap when you need more than 22 characters. 22 is quite a lot, especially for keys. ThisReallyLongKey is still only 17.