{"id":23666628,"url":"https://github.com/redsift/kdb-rs-hash","last_synced_at":"2026-02-18T02:35:16.758Z","repository":{"id":145311451,"uuid":"143459866","full_name":"redsift/kdb-rs-hash","owner":"redsift","description":"Rust Metro64 and Metro128 bindings for kdb+","archived":false,"fork":false,"pushed_at":"2023-06-29T08:38:51.000Z","size":11,"stargazers_count":2,"open_issues_count":0,"forks_count":3,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-09-01T19:40:56.648Z","etag":null,"topics":["hashing","kdb","rust"],"latest_commit_sha":null,"homepage":"","language":"q","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/redsift.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-08-03T18:19:13.000Z","updated_at":"2024-10-01T11:37:14.000Z","dependencies_parsed_at":"2023-07-04T06:01:15.924Z","dependency_job_id":null,"html_url":"https://github.com/redsift/kdb-rs-hash","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/redsift/kdb-rs-hash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redsift%2Fkdb-rs-hash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redsift%2Fkdb-rs-hash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redsift%2Fkdb-rs-hash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redsift%2Fkdb-rs-hash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redsift","download_url":"https://codeload.github.com/redsift/kdb-rs-hash/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redsift%2Fkdb-rs-hash/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29566402,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T00:47:08.760Z","status":"online","status_checked_at":"2026-02-18T02:00:09.468Z","response_time":162,"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":["hashing","kdb","rust"],"created_at":"2024-12-29T07:33:20.315Z","updated_at":"2026-02-18T02:35:16.752Z","avatar_url":"https://github.com/redsift.png","language":"q","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kdb-rs-hash\n\nImplement a Rust binding for hashing using Metro hash with CRC intrinsics supporting \u003e 10GB/s hash rates on a single modern i5/i7 x86 core.\n\nReview the write up at [Rust, meet Q](https://blog.redsift.com/labs/rust-meet-q/).\n\n## Build \u0026 Run\n\nNote that this library requires a nightly rust and as been built on `rust version 1.30.0-nightly (33b923fd4 2018-08-18)`. **If you see errors related to `to_ne_bytes` not being defined or the like, you need to rustup to the currently nightly.**\n\n```\n# create ./target/release/libkrshash.so \n$ cargo build --release\n\n# NOTE: place libkrshash.so in your library path or next to your q binary\n$ q krs-hash.q\nKDB+ 3.6 2018.06.14 Copyright (C) 1993-2018 Kx Systems\nm64/ 12()core 16384MB\n\nq)rmetro128 `hello\nfec3012b-5c96-d2f1-f8dd-32a0b77bfbe5\nq)rmetro128 \"hello\"\nfec3012b-5c96-d2f1-f8dd-32a0b77bfbe5\n```\n\n## Measure performance using in memory and persisted data\n\n```\n$ q krs-hash-dict-bench.q \n```\n\n## OS-X notes\n\nThe target build a dylib that is 'weak linked', i.e. the kdb+ symbols are left undefined as the library is meant for inclusion in a running Q process.\n\nFor inclusion into the Q process, this can be renamed to `.so`. e.g.\n\n```\n$ cargo build --release \u0026\u0026 /bin/cp -rf ./target/release/libkrshash.dylib /opt/q/m64/libkrshash.so\n$ q krs-hash.q\n```\n\n## Benchmarking files\n * `krs-hash.q`: Includes Rust MetroHash bindings.\n * `krs-hash-unit.q`: q unit tests for binding.\n * `krs-hash-str-bench.q`: Benchmark test for hashes on strings.\n * `krs-hash-dict-bench.q`: Benchmark test for in-memory and mapped hashes on dictionaries.\n * `krs-hash-dict-bench-func.q`: q functions to compute benchmark test results.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredsift%2Fkdb-rs-hash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredsift%2Fkdb-rs-hash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredsift%2Fkdb-rs-hash/lists"}