proposal: slices: new package to provide generic slice functions · Issue #45955

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/golang

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • OPS - Build and Run Open Source Unikernels
  • GitHub repo Weaviate

    Weaviate is a cloud-native, modular, real-time vector search engine

    For example, take this loop in a dot product function which we had to write in Assembly because what the Go compiler produced wasn't fast enough. The reason it's in assembly is because we can use AVX FMA instructions, but notice how the loop is unrolled 4 times. This unrolling actually brought about as much performance gain as the AVX instructions itself. From what I understand the compiler also does unrolling on regular Go for loops. So, if the additional functional call would prevent the unrolling, this could be a quite noticeable performance penalty.

  • GitHub repo go

    The Go programming language

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • GitHub repo ply

    Painless polymorphism (by lukechampine)

    I still believe that Go is better served by a handful of new builtins, plus ergonomics lambdas, than full-blown user-defined generics. In particular, adding map/filter as builtins would allow for deep compiler optimization. In Ply I was able to transform chains like xs.morph(square).filter(even) into a single for loop with no intermediate slice allocations.

  • GitHub repo filter

    Simple apply/filter/reduce package.

    From https://github.com/robpike/filter:

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts