{"id":20439047,"url":"https://github.com/austinksmith/1-billion-row-challenge","last_synced_at":"2026-04-21T04:02:56.304Z","repository":{"id":245370420,"uuid":"817906186","full_name":"austinksmith/1-billion-row-challenge","owner":"austinksmith","description":"The 1 billion row challenge implemented in node.js","archived":false,"fork":false,"pushed_at":"2024-09-24T13:49:20.000Z","size":253,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T07:28:48.400Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/austinksmith.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-06-20T17:28:28.000Z","updated_at":"2024-09-26T01:52:57.000Z","dependencies_parsed_at":"2025-01-15T19:20:14.146Z","dependency_job_id":"3e9773e4-3500-4a13-a6af-36000d36e1fc","html_url":"https://github.com/austinksmith/1-billion-row-challenge","commit_stats":null,"previous_names":["austinksmith/1-billion-row-challenge"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/austinksmith/1-billion-row-challenge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austinksmith%2F1-billion-row-challenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austinksmith%2F1-billion-row-challenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austinksmith%2F1-billion-row-challenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austinksmith%2F1-billion-row-challenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/austinksmith","download_url":"https://codeload.github.com/austinksmith/1-billion-row-challenge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austinksmith%2F1-billion-row-challenge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32076295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T02:38:07.213Z","status":"ssl_error","status_checked_at":"2026-04-21T02:38:06.559Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-11-15T09:14:31.479Z","updated_at":"2026-04-21T04:02:56.278Z","avatar_url":"https://github.com/austinksmith.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hamsters-Socket\n\n**Author**: Austin K. Smith\n\n**Website**: [asmithdev.com](http://www.asmithdev.com)\n\n**Description**: The 1 Billion Row Challenge Implemented in Node.js using Hamsters.js and Ruby and Python\n\n**License**: Artistic License 2.0\n\n# Node.js Setup\n\n* Clone the repository\n* Run `npm install`\n* Run `npm start`\n\n# Ruby Setup\n\n* Clone the repository\n* Install [ruby using official site](https://www.ruby-lang.org/en/documentation/installation/)\n* `gem install concurrent-ruby`\n* Run `npm run ruby`\n\n# JRuby Setup\n\n* Clone the repository\n* Install [jruby using official site](https://www.jruby.org/)\n* `gem install concurrent-ruby`\n* Run `npm run jruby`\n\n# Python Setup\n\n* Clone the repository\n* Install python3 using your preferred method\n* Run `python3 challenge.py`\n\n# Considerations\n\nBoth the jRuby and Ruby implementation use the exact same file and logic, both using the concurrent-ruby gem for threading, unfortunately in normal Ruby we have\na global interpreter lock that prevents multiple threads from executing at a time, this means our ruby implmentation is extremely slow. Switching to running the file with jRuby\neliminates this limitation allowing us to fully use our cpu threads and have multiple threads executing logic at at time.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faustinksmith%2F1-billion-row-challenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faustinksmith%2F1-billion-row-challenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faustinksmith%2F1-billion-row-challenge/lists"}