高速に、汎用的に、スライスのフィルタリングをしたい。 仮に邪悪なことに手を染めることになっても。 この投稿では… この投稿は、以前投稿した sort.Slice に学ぶ高速化のヒント をスライスのフィルタリングの実装に適用してみた、という内容になっています。 (この投稿はチュートリアル的な内容となっています) 汎用的な処理を実現するにはリフレクションの力が必要ですが、それだけでは低速になってしまいます。 この投稿では、リフレクションでの実装から始まり、段々と高速な実装にしていきます。 その経緯で少しだけ道を踏み外します。 注意書き 一部、unsafe な機能を使っています。 本来は、言語のメモリモデルにそって注意深く実装すべきものです。 が、今回はネタということで、無鉄砲に実装していきたいと思います。 リフレクションで解決してみる まず最初に、どのようなスライスでもフィルタリングできるよう