{"id":20879026,"url":"https://github.com/netfabric/linqbenchmarks","last_synced_at":"2025-05-12T16:31:14.676Z","repository":{"id":52514402,"uuid":"278756284","full_name":"NetFabric/LinqBenchmarks","owner":"NetFabric","description":"Benchmarking LINQ and alternative implementations","archived":false,"fork":false,"pushed_at":"2024-02-14T11:39:40.000Z","size":8439,"stargazers_count":178,"open_issues_count":2,"forks_count":15,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-01T08:12:16.834Z","etag":null,"topics":["benchmarks","count","dotnet","dotnetcore","linq","range","sum","toarray"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NetFabric.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-07-11T00:03:31.000Z","updated_at":"2025-03-28T03:00:46.000Z","dependencies_parsed_at":"2024-02-14T10:47:54.440Z","dependency_job_id":null,"html_url":"https://github.com/NetFabric/LinqBenchmarks","commit_stats":null,"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetFabric%2FLinqBenchmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetFabric%2FLinqBenchmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetFabric%2FLinqBenchmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetFabric%2FLinqBenchmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NetFabric","download_url":"https://codeload.github.com/NetFabric/LinqBenchmarks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253776789,"owners_count":21962555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmarks","count","dotnet","dotnetcore","linq","range","sum","toarray"],"created_at":"2024-11-18T07:14:58.164Z","updated_at":"2025-05-12T16:31:14.266Z","avatar_url":"https://github.com/NetFabric.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LinqBenchmarks\n\nBenchmarks comparing the performance of [LINQ](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/) against `for`/`foreach` loops and the following libraries: \n\n- [Faslinq](https://github.com/gatewayprogrammingschool/Faslinq)\n- [Cistern.ValueLinq](https://github.com/manofstick/Cistern.ValueLinq)\n- [JM.LinqFaster](https://github.com/jackmott/LinqFaster)\n- [LinqFasterer](https://github.com/Zaczero/LinqFasterer)\n- [LinqAF](https://github.com/kevin-montrose/LinqAF)\n- [SpanLinq](https://github.com/YairHalberstadt/SpanLinq)\n- [StructLinq](https://github.com/reegeek/StructLinq)\n- [NetFabric.Hyperlinq](https://github.com/NetFabric/NetFabric.Hyperlinq)\n- [System.Linq.Async](https://github.com/dotnet/reactive)\n\nNOTE: Removed [LinqOptimizer](https://github.com/nessos/LinqOptimizer) and [Streams](https://github.com/nessos/Streams) from the benchmarks as they are slower than LINQ on every benchmark.\n\n## Results\n\n### `Range()`\n\n- [Range()](Results/Range.Range.md)\n- [Range().Select()](Results/Range.RangeSelect.md)\n- [Range().Select().ToArray()](Results/Range.RangeSelectToArray.md)\n- [Range().Select().ToList()](Results/Range.RangeSelectToList.md)\n- [Range().ToArray()](Results/Range.RangeToArray.md)\n- [Range().ToList()](Results/Range.RangeToList.md)\n\n### `IEnumerable\u003cint\u003e`\n\n- [enumerable.Contains()](Results/Enumerable.Int32.EnumerableInt32Contains.md)\n- [enumerable.Distinct()](Results/Enumerable.Int32.EnumerableInt32Distinct.md)\n- [enumerable.Select()](Results/Enumerable.Int32.EnumerableInt32Select.md)\n- [enumerable.Skip().Take().Select()](Results/Enumerable.Int32.EnumerableInt32SkipTakeSelect.md)\n- [enumerable.Skip().Take().Where()](Results/Enumerable.Int32.EnumerableInt32SkipTakeWhere.md)\n- [enumerable.Sum()](Results/Enumerable.Int32.EnumerableInt32Sum.md)\n- [enumerable.Where()](Results/Enumerable.Int32.EnumerableInt32Where.md)\n- [enumerable.Where().Count()](Results/Enumerable.Int32.EnumerableInt32WhereCount.md)\n- [enumerable.Where().Select()](Results/Enumerable.Int32.EnumerableInt32WhereSelect.md)\n- [enumerable.Where().Select().ToArray()](Results/Enumerable.Int32.EnumerableInt32WhereSelectToArray.md)\n- [enumerable.Where().Select().ToList()](Results/Enumerable.Int32.EnumerableInt32WhereSelectToList.md)\n\n### `IEnumerable\u003cFatReferenceType\u003e`\n- [enumerable.Any()](Results/Enumerable.FatReferenceType.EnumerableFatReferenceTypeAny.md)\n- [enumerable.FirstOrDefault()](Results/Enumerable.FatReferenceType.EnumerableFatReferenceTypeFirstOrDefault.md)\n\n### `int[]`\n\n- [array.Contains()](Results/Array.Int32.ArrayInt32Contains.md)\n- [array.Distinct()](Results/Array.Int32.ArrayInt32Distinct.md)\n- [array.Select()](Results/Array.Int32.ArrayInt32Select.md)\n- [array.Select().ToList()](Results/Array.Int32.ArrayInt32SelectToList.md)\n- [array.Skip().Take().Select()](Results/Array.Int32.ArrayInt32SkipTakeSelect.md)\n- [array.Skip().Take().Where()](Results/Array.Int32.ArrayInt32SkipTakeWhere.md)\n- [array.Sum()](Results/Array.Int32.ArrayInt32Sum.md)\n- [array.Where()](Results/Array.Int32.ArrayInt32Where.md)\n- [array.Where().Count()](Results/Array.Int32.ArrayInt32WhereCount.md)\n- [array.Where().Select()](Results/Array.Int32.ArrayInt32WhereSelect.md)\n- [array.Where().Select().ToArray()](Results/Array.Int32.ArrayInt32WhereSelectToArray.md)\n- [array.Where().Select().ToList()](Results/Array.Int32.ArrayInt32WhereSelectToList.md)\n\n### `FatValueType[]`\n\n- [array.Contains()](Results/Array.ValueType.ArrayValueTypeContains.md)\n- [array.Distinct()](Results/Array.ValueType.ArrayValueTypeDistinct.md)\n- [array.Select()](Results/Array.ValueType.ArrayValueTypeSelect.md)\n- [array.Select().Sum()](Results/Array.ValueType.ArrayValueTypeSelectSum.md)\n- [array.Skip().Take().Select()](Results/Array.ValueType.ArrayValueTypeSkipTakeSelect.md)\n- [array.Skip().Take().Where()](Results/Array.ValueType.ArrayValueTypeSkipTakeWhere.md)\n- [array.Where()](Results/Array.ValueType.ArrayValueTypeWhere.md)\n- [array.Where().Count()](Results/Array.ValueType.ArrayValueTypeWhereCount.md)\n- [array.Where().Select()](Results/Array.ValueType.ArrayValueTypeWhereSelect.md)\n- [array.Where().Select().ToArray()](Results/Array.ValueType.ArrayValueTypeWhereSelectToArray.md)\n- [array.Where().Select().ToList()](Results/Array.ValueType.ArrayValueTypeWhereSelectToList.md)\n\n### `List\u003cint\u003e`\n\n- [list.Contains()](Results/List.Int32.ListInt32Contains.md)\n- [list.Distinct()](Results/List.Int32.ListInt32Distinct.md)\n- [list.Select()](Results/List.Int32.ListInt32Select.md)\n- [list.Select().ToList()](Results/List.Int32.ListInt32SelectToList.md)\n- [list.Skip().Take().Select()](Results/List.Int32.ListInt32SkipTakeSelect.md)\n- [list.Skip().Take().Where()](Results/List.Int32.ListInt32SkipTakeWhere.md)\n- [list.Sum()](Results/List.Int32.ListInt32Sum.md)\n- [list.ToArray()](Results/List.Int32.ListInt32ToArray.md)\n- [list.Where()](Results/List.Int32.ListInt32Where.md)\n- [list.Where().Select()](Results/List.Int32.ListInt32WhereSelect.md)\n- [list.Where().Select().ToArray()](Results/List.Int32.ListInt32WhereSelectToArray.md)\n- [list.Where().Select().ToList()](Results/List.Int32.ListInt32WhereSelectToList.md)\n\n### `List\u003cFatValueType\u003e`\n\n- [list.Contains()](Results/List.ValueType.ListValueTypeContains.md)\n- [list.Distinct()](Results/List.ValueType.ListValueTypeDistinct.md)\n- [list.Select()](Results/List.ValueType.ListValueTypeSelect.md)\n- [list.Select().Sum()](Results/List.ValueType.ListValueTypeSelectSum.md)\n- [list.Skip().Take().Select()](Results/List.ValueType.ListValueTypeSkipTakeSelect.md)\n- [list.Skip().Take().Where()](Results/List.ValueType.ListValueTypeSkipTakeWhere.md)\n- [list.ToArray()](Results/List.ValueType.ListValueTypeToArray.md)\n- [list.Where()](Results/List.ValueType.ListValueTypeWhere.md)\n- [list.Where().Select()](Results/List.ValueType.ListValueTypeWhereSelect.md)\n- [list.Where().Select().ToArray()](Results/List.ValueType.ListValueTypeWhereSelectToArray.md)\n- [list.Where().Select().ToList()](Results/List.ValueType.ListValueTypeWhereSelectToList.md)\n\n### `ImmutableArray\u003cint\u003e`\n\n- [array.Contains()](Results/ImmutableArray.Int32.ImmutableArrayInt32Contains.md)\n- [array.Select()](Results/ImmutableArray.Int32.ImmutableArrayInt32Select.md)\n- [array.Skip().Take().Select()](Results/ImmutableArray.Int32.ImmutableArrayInt32SkipTakeSelect.md)\n- [array.Sum()](Results/ImmutableArray.Int32.ImmutableArrayInt32Sum.md)\n- [array.Where()](Results/ImmutableArray.Int32.ImmutableArrayInt32Where.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetfabric%2Flinqbenchmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetfabric%2Flinqbenchmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetfabric%2Flinqbenchmarks/lists"}