{"id":19654285,"url":"https://github.com/aimenux/batchingcollectionsdemo","last_synced_at":"2025-06-17T05:02:58.928Z","repository":{"id":116559324,"uuid":"291567904","full_name":"aimenux/BatchingCollectionsDemo","owner":"aimenux","description":"Batches an enumerable into sized chunks","archived":false,"fork":false,"pushed_at":"2022-07-06T23:14:53.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-27T01:54:34.580Z","etag":null,"topics":["batching","benchmarks","chunks","net60"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aimenux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"publiccode":null,"codemeta":null}},"created_at":"2020-08-30T23:15:17.000Z","updated_at":"2022-07-06T23:16:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"bce31f90-0e79-4d69-8bc0-7f328e264016","html_url":"https://github.com/aimenux/BatchingCollectionsDemo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aimenux/BatchingCollectionsDemo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aimenux%2FBatchingCollectionsDemo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aimenux%2FBatchingCollectionsDemo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aimenux%2FBatchingCollectionsDemo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aimenux%2FBatchingCollectionsDemo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aimenux","download_url":"https://codeload.github.com/aimenux/BatchingCollectionsDemo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aimenux%2FBatchingCollectionsDemo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260294442,"owners_count":22987620,"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":["batching","benchmarks","chunks","net60"],"created_at":"2024-11-11T15:16:50.418Z","updated_at":"2025-06-17T05:02:58.897Z","avatar_url":"https://github.com/aimenux.png","language":"C#","readme":"﻿[![.NET](https://github.com/aimenux/BatchingCollectionsDemo/actions/workflows/ci.yml/badge.svg)](https://github.com/aimenux/BatchingCollectionsDemo/actions/workflows/ci.yml)\n\n# BatchingCollectionsDemo\n```\nBatches an enumerable into sized chunks\n```\n\n\u003e I m using multiple implementations in order to batch an enumerable into chunks.\n\u003e\n\u003e\u003e **(1)** `BatchExtractor 1` : based on group-by operator\n\u003e\u003e\n\u003e\u003e **(2)** `BatchExtractor 2 \u0026 3` : based on take/skip operators\n\u003e\u003e\n\u003e\u003e **(3)** `BatchExtractor 4` : based on enumerators\n\u003e\u003e\n\u003e\u003e **(4)** `BatchExtractor 5 \u0026 6` : based on yield operator\n\u003e\u003e\n\u003e\u003e **(5)** `BatchExtractor 7` : based on chunk extension\n\n**`Tools`** : vs22, net core 6.0\n\n```\n|                   Method | ItemsSize | BatchSize |       Mean |    Error |   StdDev |     Median |        Min |        Max |       Gen 0 |      Gen 1 |     Gen 2 | Allocated |\n|------------------------- |---------- |---------- |-----------:|---------:|---------:|-----------:|-----------:|-----------:|------------:|-----------:|----------:|----------:|\n| BatchExtractor1Benchmark |   1000000 |       100 |   730.7 ms | 14.49 ms | 25.38 ms |   727.6 ms |   692.3 ms |   785.3 ms |  41000.0000 | 12000.0000 | 3000.0000 |    236 MB |\n| BatchExtractor3Benchmark |   1000000 |       100 |   257.3 ms |  4.21 ms |  5.32 ms |   257.1 ms |   249.6 ms |   268.9 ms |  46000.0000 |          - |         - |    184 MB |\n| BatchExtractor4Benchmark |   1000000 |       100 |   257.4 ms |  3.96 ms |  3.51 ms |   256.1 ms |   253.5 ms |   265.9 ms |  47500.0000 |          - |         - |    191 MB |\n| BatchExtractor5Benchmark |   1000000 |       100 |   285.5 ms |  8.30 ms | 23.94 ms |   278.0 ms |   253.3 ms |   346.5 ms |  51000.0000 |          - |         - |    204 MB |\n| BatchExtractor6Benchmark |   1000000 |       100 |   278.0 ms |  5.52 ms | 14.84 ms |   276.0 ms |   254.3 ms |   316.1 ms |  47000.0000 |          - |         - |    191 MB |\n| BatchExtractor7Benchmark |   1000000 |       100 |   275.9 ms |  8.88 ms | 26.04 ms |   265.6 ms |   248.5 ms |   346.1 ms |  47500.0000 |          - |         - |    191 MB |\n| BatchExtractor1Benchmark |   1000000 |      1000 |   707.7 ms | 13.58 ms | 26.81 ms |   705.9 ms |   660.5 ms |   784.6 ms |  40000.0000 | 12000.0000 | 3000.0000 |    230 MB |\n| BatchExtractor3Benchmark |   1000000 |      1000 |   253.4 ms |  5.01 ms |  8.24 ms |   251.0 ms |   238.3 ms |   275.8 ms |  45500.0000 |          - |         - |    183 MB |\n| BatchExtractor4Benchmark |   1000000 |      1000 |   283.7 ms |  5.67 ms | 12.80 ms |   283.1 ms |   257.9 ms |   306.2 ms |  47000.0000 | 11000.0000 |         - |    191 MB |\n| BatchExtractor5Benchmark |   1000000 |      1000 |   290.0 ms |  5.75 ms | 16.30 ms |   287.7 ms |   263.5 ms |   336.4 ms |  49000.0000 | 12000.0000 |         - |    199 MB |\n| BatchExtractor6Benchmark |   1000000 |      1000 |   280.0 ms |  5.54 ms | 13.48 ms |   278.5 ms |   258.4 ms |   313.1 ms |  47000.0000 | 11000.0000 |         - |    191 MB |\n| BatchExtractor7Benchmark |   1000000 |      1000 |   287.3 ms |  5.68 ms | 13.16 ms |   286.5 ms |   257.9 ms |   316.4 ms |  47000.0000 | 11000.0000 |         - |    191 MB |\n| BatchExtractor1Benchmark |   2000000 |       100 | 1,482.5 ms | 26.83 ms | 43.33 ms | 1,485.9 ms | 1,414.7 ms | 1,573.9 ms |  81000.0000 | 23000.0000 | 4000.0000 |    472 MB |\n| BatchExtractor3Benchmark |   2000000 |       100 |   513.9 ms |  8.53 ms | 15.60 ms |   510.1 ms |   494.8 ms |   557.2 ms |  92000.0000 |          - |         - |    368 MB |\n| BatchExtractor4Benchmark |   2000000 |       100 |   514.6 ms |  9.85 ms |  9.21 ms |   513.2 ms |   500.2 ms |   534.4 ms |  95000.0000 |          - |         - |    383 MB |\n| BatchExtractor5Benchmark |   2000000 |       100 |   539.9 ms | 10.73 ms | 23.10 ms |   533.5 ms |   510.6 ms |   597.0 ms | 102000.0000 |          - |         - |    408 MB |\n| BatchExtractor6Benchmark |   2000000 |       100 |   543.2 ms | 12.66 ms | 36.93 ms |   529.9 ms |   497.4 ms |   654.2 ms |  95000.0000 |          - |         - |    382 MB |\n| BatchExtractor7Benchmark |   2000000 |       100 |   518.6 ms |  8.82 ms | 19.00 ms |   510.1 ms |   494.8 ms |   573.9 ms |  95000.0000 |          - |         - |    382 MB |\n| BatchExtractor1Benchmark |   2000000 |      1000 | 1,399.9 ms | 27.40 ms | 35.62 ms | 1,401.0 ms | 1,335.5 ms | 1,487.5 ms |  80000.0000 | 22000.0000 | 4000.0000 |    459 MB |\n| BatchExtractor3Benchmark |   2000000 |      1000 |   518.0 ms |  9.54 ms | 22.68 ms |   511.1 ms |   487.0 ms |   578.9 ms |  91000.0000 |          - |         - |    366 MB |\n| BatchExtractor4Benchmark |   2000000 |      1000 |   537.5 ms | 10.62 ms | 16.53 ms |   533.0 ms |   515.7 ms |   578.6 ms |  95000.0000 | 23000.0000 |         - |    382 MB |\n| BatchExtractor5Benchmark |   2000000 |      1000 |   540.2 ms |  9.94 ms | 19.39 ms |   535.1 ms |   512.5 ms |   602.6 ms |  99000.0000 | 24000.0000 |         - |    398 MB |\n| BatchExtractor6Benchmark |   2000000 |      1000 |   537.7 ms | 10.71 ms | 23.29 ms |   528.0 ms |   506.0 ms |   603.3 ms |  95000.0000 | 23000.0000 |         - |    382 MB |\n| BatchExtractor7Benchmark |   2000000 |      1000 |   532.8 ms | 10.46 ms | 19.39 ms |   527.9 ms |   507.6 ms |   604.7 ms |  95000.0000 | 23000.0000 |         - |    382 MB |\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faimenux%2Fbatchingcollectionsdemo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faimenux%2Fbatchingcollectionsdemo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faimenux%2Fbatchingcollectionsdemo/lists"}