{"id":13804566,"url":"https://github.com/etcimon/fast","last_synced_at":"2026-06-09T04:12:33.444Z","repository":{"id":9265922,"uuid":"11093654","full_name":"etcimon/fast","owner":"etcimon","description":"A library for D that aims to provide the fastest possible implementation of some every day routines.","archived":false,"fork":false,"pushed_at":"2023-03-03T15:00:21.000Z","size":157,"stargazers_count":111,"open_issues_count":8,"forks_count":6,"subscribers_count":7,"default_branch":"master","last_synced_at":"2026-01-14T17:16:50.954Z","etag":null,"topics":["dlang"],"latest_commit_sha":null,"homepage":null,"language":"D","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/etcimon.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}},"created_at":"2013-07-01T12:03:44.000Z","updated_at":"2025-07-06T09:40:30.000Z","dependencies_parsed_at":"2024-01-03T01:30:28.282Z","dependency_job_id":null,"html_url":"https://github.com/etcimon/fast","commit_stats":null,"previous_names":["mleise/fast"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/etcimon/fast","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etcimon%2Ffast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etcimon%2Ffast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etcimon%2Ffast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etcimon%2Ffast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/etcimon","download_url":"https://codeload.github.com/etcimon/fast/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etcimon%2Ffast/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34091022,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"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":["dlang"],"created_at":"2024-08-04T01:00:50.299Z","updated_at":"2026-06-09T04:12:33.418Z","avatar_url":"https://github.com/etcimon.png","language":"D","funding_links":[],"categories":["Data serialization"],"sub_categories":["JSON"],"readme":"fast\n====\n\nThis library aims to provide the fastest possible implementation of some every day routines.\n\nThe contained functions avoid GC allocations and input validation. They may use SSE or stack allocations to reach a high throughput so that in some cases a 20 fold speed increase can be achieved.\n\n**[DMD](https://dlang.org/)**, **[GDC](https://gdcproject.org/)** and **[LDC2](https://wiki.dlang.org/LDC)** compilers are supported. Tested with front-end versions **2.068** through **2.079**.\n\n### Benchmark\nA benchmark is included and can be run through dub, e.g.:\n\n    dub --config=benchmark --build=release --compiler=gdc\n\n### Examples\n\n##### Read JSON file with coordinates.\n```d\nstruct Point3D { double x, y, z; }\n\nvoid main()\n{\n    import fast.json;\n    auto points = json.coordinates.read!(Point3D[]);\n}\n```\n\n##### SSE3 accelerated splitting around '/' and '\\'\n```d\nstring rest = pathname\nstring element;\n\nimport fast.string;\nwhile (rest.split!`or(=\\,=/)`(element, rest))\n{\n    // `element' is now the next directory.\n    // `rest' is what remains after the \\ or /.\n}\n// `element` is now the file name part of the path.\n```\n\n##### Calling Windows API functions.\n```d\nvoid createHardlink(string from, string to)\n{\n    import fast.cstring : wcharPtr;\n    CreateHardLinkW(wcharPtr!to, wcharPtr!from, null);\n}\n```\n\n##### Calling Linux API functions.\n```d\nvoid createHardlink(string from, string to)\n{\n    import fast.cstring : charPtr;\n    link(charPtr!from, charPtr!to);\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fetcimon%2Ffast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fetcimon%2Ffast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fetcimon%2Ffast/lists"}