{"id":28407486,"url":"https://github.com/tortar/dynamicdiscretesamplerscomparisons","last_synced_at":"2025-10-15T21:10:35.419Z","repository":{"id":295886780,"uuid":"991516535","full_name":"Tortar/DynamicDiscreteSamplersComparisons","owner":"Tortar","description":"Performance Comparisons between different implementations of Dynamic Discrete Samplers","archived":false,"fork":false,"pushed_at":"2025-06-25T14:42:19.000Z","size":9938,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-19T01:27:10.393Z","etag":null,"topics":["benchmark","comparison","dynamic-sampling","julia","sampling"],"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/Tortar.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,"zenodo":null}},"created_at":"2025-05-27T18:39:32.000Z","updated_at":"2025-06-25T14:44:37.000Z","dependencies_parsed_at":"2025-05-28T23:18:12.540Z","dependency_job_id":"fdf779a7-e5a0-4058-ba30-0987d2a5a9b4","html_url":"https://github.com/Tortar/DynamicDiscreteSamplersComparisons","commit_stats":null,"previous_names":["tortar/dynamicdiscretesamplers_comparisons","tortar/dynamicdiscretesamplerscomparisons"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Tortar/DynamicDiscreteSamplersComparisons","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tortar%2FDynamicDiscreteSamplersComparisons","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tortar%2FDynamicDiscreteSamplersComparisons/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tortar%2FDynamicDiscreteSamplersComparisons/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tortar%2FDynamicDiscreteSamplersComparisons/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tortar","download_url":"https://codeload.github.com/Tortar/DynamicDiscreteSamplersComparisons/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tortar%2FDynamicDiscreteSamplersComparisons/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266897218,"owners_count":24002642,"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","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["benchmark","comparison","dynamic-sampling","julia","sampling"],"created_at":"2025-06-02T01:08:45.814Z","updated_at":"2025-10-15T21:10:35.362Z","avatar_url":"https://github.com/Tortar.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# DynamicDiscreteSamplersComparisons\n\nPerformance and exactness comparisons between different implementations of Dynamic Discrete Samplers.\n\nCurrently, it compares four algorithms:\n\n- EBUS (https://github.com/LilithHafner/WeightVectors.jl)\n- BUS (https://github.com/CUHK-DBGroup/WSS-WIRS)\n- FT (https://github.com/manpen/dynamic-weighted-index)\n- DPA* (https://github.com/Daniel-Allendorf/proposal-array)\n\nThree performance benchmarks and one exactness benchmark are performed:\n\n- performance test on static sampling\n- performance test on dynamic sampling with a fixed domain\n- performance test on dynamic sampling with a variable domain\n- exactness test by an exponential decay strategy\n\nFor more information, refer to the paper listed in the citation section.\n\n## Execution\n\nTo run the benchmarks on Linux, first install the necessary softwares with\n\n```\nbash install.sh\n```\n\nand then run the benchmarks with\n\n```\nbash run.sh\n```\n\n## Results\n\nThe results are stored in csv format in the `data` folder, and as plots in the \n`figures` folder:\n\n\u003cdiv style=\"display: flex; gap: 10px; flex-wrap: wrap;\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/d394ae94-c9f6-4255-aaaf-8b170afa66bf\" alt=\"static\" style=\"width: 32%;\" /\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/adf3c0f5-0a20-49a2-b724-89010bb1eb8b\" alt=\"dynamic_fixed\" style=\"width: 32%;\" /\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/258e469c-c606-46a9-9262-8584839be22e\" alt=\"dynamic_variable\" style=\"width: 32%;\" /\u003e\n\u003c/div\u003e\n\n\u003cdiv style=\"display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px;\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/c4461840-a778-4093-9257-51ffded1400b\" alt=\"numerical\" style=\"width: 48%;\" /\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/7e8a97ec-820e-40ae-b94b-7610e68050e1\" alt=\"numerical50\" style=\"width: 48%;\" /\u003e\n\u003c/div\u003e\n\n## Citation\n\nIf you use this package in a publication, or simply want to refer to it, please cite the paper below:\n\n```\n@misc{hafner2025exactsampler,\n      title={An Exact and Efficient Sampler for Dynamic Discrete Distributions}, \n      author={Lilith Orion Hafner and Adriano Meligrana},\n      year={2025},\n      eprint={2506.14062},\n      archivePrefix={arXiv},\n      primaryClass={cs.DS},\n      url={https://arxiv.org/abs/2506.14062}, \n}\n```\n\nThis comparison accompanies the EBUS implementation available at https://github.com/LilithHafner/WeightVectors.jl.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftortar%2Fdynamicdiscretesamplerscomparisons","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftortar%2Fdynamicdiscretesamplerscomparisons","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftortar%2Fdynamicdiscretesamplerscomparisons/lists"}