I’ve recently discovered this project, which assuming it works as advertised (which I think wasn’t really tested yet, since it seems to be a pretty new repo) sounds like a pretty good library to add into your toolbox.

For those that do not know, LINQ is basically a query language over collections in C#, that allows you (from the top of my head) to do stuff like

someList.Where(x => x.value < 10).OrderBy(x => x.priority).Select(x => x.name)

which would give you a IEnumerable list with names of elements where value is smaller than 10, ordered by priority.

However, using LINQ in performance critical code, such as per-frame Updates, is not really a good idea because it unfortunately does generate a lot of garbage (allocations for GC to collect). Having a version that doesn’t allocate anything sounds awesome, assuming you are a fan of LINQ.

What are your thoughts? For me, it sounds like something really useful. While it’s not really that difficult to avoid LINQ, I’m a fan of the simplicity and descriptive nature of the syntax, and not having to avoid it would be great. It does seem there are quite a few issues starting to pop up, but it’s definitely a project that could be worth it to follow.

  • Kissaki
    link
    fedilink
    English
    arrow-up
    2
    ·
    6 days ago

    It’s/The technical readme desc is certainly interesting.

    I’m using linq (to mssql) extensively at work. I also have parsing use cases where we work with spans.

    I’ll look more into this lib, keep it in mind, and potentially experiment with it.

    • RonSijm
      link
      fedilink
      arrow-up
      1
      ·
      6 days ago

      If you’re using Entity Framework for the mssql, I doubt that this library would work as a substitute.

      Because that linq gets parsed into expression trees and then send to the underlying provider (mssql/mysql etc) to be converted into sql. So if you you some non-standard library those providers won’t be able to convert that linq to sql

      • Kissaki
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 days ago

        Yeah, that was ma understanding/assessment as well. It could be useful for my other use case of reading from linear byte data spans though. I suspect the dependency overhead won’t be worth for what it provides though when I can go over the span myself. We don’t have many query-condition-like aspects to reading it.