{"id":16572665,"url":"https://github.com/lemire/batched_random","last_synced_at":"2025-03-23T14:31:00.217Z","repository":{"id":243716604,"uuid":"771142623","full_name":"lemire/batched_random","owner":"lemire","description":"Batched random number generation","archived":false,"fork":false,"pushed_at":"2024-12-09T15:15:26.000Z","size":698,"stargazers_count":16,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-16T02:48:53.103Z","etag":null,"topics":[],"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/lemire.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,"publiccode":null,"codemeta":null}},"created_at":"2024-03-12T19:03:23.000Z","updated_at":"2025-02-24T13:23:42.000Z","dependencies_parsed_at":"2024-06-10T21:16:07.315Z","dependency_job_id":"98a1b277-2241-4c52-a6a8-450d090a2114","html_url":"https://github.com/lemire/batched_random","commit_stats":null,"previous_names":["lemire/batched_random"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemire%2Fbatched_random","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemire%2Fbatched_random/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemire%2Fbatched_random/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemire%2Fbatched_random/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lemire","download_url":"https://codeload.github.com/lemire/batched_random/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245115671,"owners_count":20563207,"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":[],"created_at":"2024-10-11T21:28:13.507Z","updated_at":"2025-03-23T14:31:00.091Z","avatar_url":"https://github.com/lemire.png","language":"C","readme":"## Batched Random\n\nWe benchmark fast shuffling functions using batched random index generation.\nIt is meant for research purposes. Though we have good benchmarks and tests, \nthis code is not meant to be production-ready.\n\n### Reference\n\n* Nevin Brackett-Rozinsky, Daniel Lemire, [Batched Ranged Random Integer Generation](https://arxiv.org/abs/2408.06213), Software: Practice and Experience 55 (1), 2024.\n\n### Requirements\n\n- Recent LLVM clang and clang++ compilers\n- Make\n\n### Running Benchmarks\n\n\n```\nmake\n./benchmark\n```\n\nTo get the C++ benchmarks, you can type `./benchmark --cpp`. They are disabled by default.\n\nTo run tests:\n```\n./basic\n```\n\n## Code\n\nSee `src` directory for the main code.\n\n## Other Compilers\n\nWe use LLVM/clang for benchmarking.\n\nThe code is portable and other compilers can be used. The performance\nof the C++ code might be sensitive to the C++ compiler used.\nSpecifically, we find that `shuffle_23456` has relatively poor performance\nwith GCC compared to LLVM/clang. GCC fails to optimize `shuffle_23456` properly.\nWe recommend that GCC users prefer `shuffle_2`.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flemire%2Fbatched_random","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flemire%2Fbatched_random","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flemire%2Fbatched_random/lists"}