{"id":21431623,"url":"https://github.com/apache/couchdb-snappy","last_synced_at":"2025-06-17T19:39:50.618Z","repository":{"id":13307259,"uuid":"15993620","full_name":"apache/couchdb-snappy","owner":"apache","description":"Mirror of Apache CouchDB","archived":false,"fork":false,"pushed_at":"2025-06-15T13:50:11.000Z","size":3199,"stargazers_count":6,"open_issues_count":2,"forks_count":12,"subscribers_count":22,"default_branch":"main","last_synced_at":"2025-06-16T00:57:13.194Z","etag":null,"topics":["big-data","cloud","content","couchdb","cplusplus","database","erlang","http","javascript","network-client","network-server"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":false,"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/apache.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":"2014-01-17T08:00:09.000Z","updated_at":"2025-06-13T19:02:11.000Z","dependencies_parsed_at":"2024-11-22T17:23:11.605Z","dependency_job_id":"0a1629b4-6ff1-4cc9-8655-687a6545b715","html_url":"https://github.com/apache/couchdb-snappy","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/apache/couchdb-snappy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcouchdb-snappy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcouchdb-snappy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcouchdb-snappy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcouchdb-snappy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/couchdb-snappy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fcouchdb-snappy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260427396,"owners_count":23007504,"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":["big-data","cloud","content","couchdb","cplusplus","database","erlang","http","javascript","network-client","network-server"],"created_at":"2024-11-22T23:10:45.855Z","updated_at":"2025-06-17T19:39:45.590Z","avatar_url":"https://github.com/apache.png","language":"C++","readme":"# snappy-erlang-nif\n\nThis is an Erlang NIF for Google's snappy fast compressor and decompressor.\n\nGoogle snappy's official repository and bug tracking system is at:\n\n* https://github.com/google/snappy\n\nIts source is included in this project.\n\n\n# site\n\nhttps://github.com/fdmanana/snappy-erlang-nif\n\n\n# performance tests\n\nSnappy is much faster than zlib's deflate compression, specially for reasonably large amounts of\ndata. Here follow a few basic tests.\n\n\u003cpre\u003e\nErlang R14B02 (erts-5.8.3) [source] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]\n\nEshell V5.8.3  (abort with ^G)\n1\u0026gt; code:add_path(\"ebin\").\ntrue\n2\u0026gt; {ok, J} = file:read_file(\"../seatoncouch/doc_11k.json\").\n{ok,\u0026lt;\u0026lt;\"{\\n\\\"data3\\\":\\\"ColreUHAtn8iYvHIHw2ohiAuaXNGNX9WhlwANGDBYKYs6YEvHXgFXRkWuYoFyfLVqtjZNPedtukWRDXFz7VUOl4APLS7GB9Nw\"...\u0026gt;\u0026gt;}\n3\u0026gt;\n3\u0026gt; timer:tc(snappy, compress, [J]).\n{4365,\n {ok,\u0026lt;\u0026lt;\"úZðÔ{\\n\\\"data3\\\":\\\"ColreUHAtn8iYvHIHw2ohiAuaXNGNX9WhlwANGDBYKYs6YEvHXgFXRkWuYoFyfLVqtjZNPedtukWRDXFz7VUO\"...\u0026gt;\u0026gt;}}\n4\u0026gt; timer:tc(snappy, compress, [J]).\n{115,\n {ok,\u0026lt;\u0026lt;\"úZðÔ{\\n\\\"data3\\\":\\\"ColreUHAtn8iYvHIHw2ohiAuaXNGNX9WhlwANGDBYKYs6YEvHXgFXRkWuYoFyfLVqtjZNPedtukWRDXFz7VUO\"...\u0026gt;\u0026gt;}}\n5\u0026gt; timer:tc(snappy, compress, [J]).\n{113,\n {ok,\u0026lt;\u0026lt;\"úZðÔ{\\n\\\"data3\\\":\\\"ColreUHAtn8iYvHIHw2ohiAuaXNGNX9WhlwANGDBYKYs6YEvHXgFXRkWuYoFyfLVqtjZNPedtukWRDXFz7VUO\"...\u0026gt;\u0026gt;}}\n6\u0026gt; timer:tc(snappy, compress, [J]).\n{112,\n {ok,\u0026lt;\u0026lt;\"úZðÔ{\\n\\\"data3\\\":\\\"ColreUHAtn8iYvHIHw2ohiAuaXNGNX9WhlwANGDBYKYs6YEvHXgFXRkWuYoFyfLVqtjZNPedtukWRDXFz7VUO\"...\u0026gt;\u0026gt;}}\n7\u0026gt; timer:tc(snappy, compress, [J]).\n{113,\n {ok,\u0026lt;\u0026lt;\"úZðÔ{\\n\\\"data3\\\":\\\"ColreUHAtn8iYvHIHw2ohiAuaXNGNX9WhlwANGDBYKYs6YEvHXgFXRkWuYoFyfLVqtjZNPedtukWRDXFz7VUO\"...\u0026gt;\u0026gt;}}\n8\u0026gt; timer:tc(snappy, compress, [J]).\n{111,\n {ok,\u0026lt;\u0026lt;\"úZðÔ{\\n\\\"data3\\\":\\\"ColreUHAtn8iYvHIHw2ohiAuaXNGNX9WhlwANGDBYKYs6YEvHXgFXRkWuYoFyfLVqtjZNPedtukWRDXFz7VUO\"...\u0026gt;\u0026gt;}}\n9\u0026gt;\n9\u0026gt; timer:tc(zlib, zip, [J]).\n{1025,\n \u0026lt;\u0026lt;237,88,217,142,226,88,18,125,175,175,104,241,108,89,\n   119,95,234,13,39,24,179,153,37,49,182,25,181,...\u0026gt;\u0026gt;}\n10\u0026gt; timer:tc(zlib, zip, [J]).\n{753,\n \u0026lt;\u0026lt;237,88,217,142,226,88,18,125,175,175,104,241,108,89,\n   119,95,234,13,39,24,179,153,37,49,182,25,181,...\u0026gt;\u0026gt;}\n11\u0026gt; timer:tc(zlib, zip, [J]).\n{974,\n \u0026lt;\u0026lt;237,88,217,142,226,88,18,125,175,175,104,241,108,89,\n   119,95,234,13,39,24,179,153,37,49,182,25,181,...\u0026gt;\u0026gt;}\n12\u0026gt; timer:tc(zlib, zip, [J]).\n{753,\n \u0026lt;\u0026lt;237,88,217,142,226,88,18,125,175,175,104,241,108,89,\n   119,95,234,13,39,24,179,153,37,49,182,25,181,...\u0026gt;\u0026gt;}\n13\u0026gt; timer:tc(zlib, zip, [J]).\n{960,\n \u0026lt;\u0026lt;237,88,217,142,226,88,18,125,175,175,104,241,108,89,\n   119,95,234,13,39,24,179,153,37,49,182,25,181,...\u0026gt;\u0026gt;}\n14\u0026gt; timer:tc(zlib, zip, [J]).\n{769,\n \u0026lt;\u0026lt;237,88,217,142,226,88,18,125,175,175,104,241,108,89,\n   119,95,234,13,39,24,179,153,37,49,182,25,181,...\u0026gt;\u0026gt;}\n15\u0026gt;\n15\u0026gt; byte_size(element(2, snappy:compress(J))).\n2846\n16\u0026gt; byte_size(zlib:zip(J)).\n1858\n17\u0026gt;\n17\u0026gt; crypto:start().\nok\n18\u0026gt; Large = base64:encode(crypto:rand_bytes(100 * 1024)).\n\u0026lt;\u0026lt;\"72GMvPLuWJLJeYSlNm9oNkYkbjTeSBDgTrqamQ/zgj7hcUge1co6LvldJyitKPZkMPQGnrN98EyqSyWto3k7ShNgiNc05Gt4zdXSbTVSDzeID661DnJX\"...\u0026gt;\u0026gt;\n19\u0026gt;\n19\u0026gt; timer:tc(snappy, compress, [Large]).\n{365,\n {ok,\u0026lt;\u0026lt;216,170,8,244,255,127,55,50,71,77,118,80,76,117,\n       87,74,76,74,101,89,83,108,78,109,57,...\u0026gt;\u0026gt;}}\n20\u0026gt; timer:tc(snappy, compress, [Large]).\n{541,\n {ok,\u0026lt;\u0026lt;216,170,8,244,255,127,55,50,71,77,118,80,76,117,\n       87,74,76,74,101,89,83,108,78,109,57,...\u0026gt;\u0026gt;}}\n21\u0026gt; timer:tc(snappy, compress, [Large]).\n{455,\n {ok,\u0026lt;\u0026lt;216,170,8,244,255,127,55,50,71,77,118,80,76,117,\n       87,74,76,74,101,89,83,108,78,109,57,...\u0026gt;\u0026gt;}}\n22\u0026gt; timer:tc(snappy, compress, [Large]).\n{479,\n {ok,\u0026lt;\u0026lt;216,170,8,244,255,127,55,50,71,77,118,80,76,117,\n       87,74,76,74,101,89,83,108,78,109,57,...\u0026gt;\u0026gt;}}\n23\u0026gt;\n23\u0026gt; timer:tc(zlib, zip, [Large]).\n{14666,\n \u0026lt;\u0026lt;20,155,181,118,195,64,20,5,63,72,133,152,74,49,147,197,\n   234,196,204,236,175,143,115,210,164,112,188,...\u0026gt;\u0026gt;}\n24\u0026gt; timer:tc(zlib, zip, [Large]).\n{19716,\n \u0026lt;\u0026lt;20,155,181,118,195,64,20,5,63,72,133,152,74,49,147,197,\n   234,196,204,236,175,143,115,210,164,112,188,...\u0026gt;\u0026gt;}\n25\u0026gt; timer:tc(zlib, zip, [Large]).\n{14561,\n \u0026lt;\u0026lt;20,155,181,118,195,64,20,5,63,72,133,152,74,49,147,197,\n   234,196,204,236,175,143,115,210,164,112,188,...\u0026gt;\u0026gt;}\n26\u0026gt; timer:tc(zlib, zip, [Large]).\n{21683,\n \u0026lt;\u0026lt;20,155,181,118,195,64,20,5,63,72,133,152,74,49,147,197,\n   234,196,204,236,175,143,115,210,164,112,188,...\u0026gt;\u0026gt;}\n27\u0026gt; timer:tc(zlib, zip, [Large]).\n{11575,\n \u0026lt;\u0026lt;20,155,181,118,195,64,20,5,63,72,133,152,74,49,147,197,\n   234,196,204,236,175,143,115,210,164,112,188,...\u0026gt;\u0026gt;}\n28\u0026gt;\n28\u0026gt; byte_size(element(2, snappy:compress(Large))).\n136554\n29\u0026gt; byte_size(zlib:zip(Large)).\n103440\n30\u0026gt;\n\u003c/pre\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fcouchdb-snappy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fcouchdb-snappy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fcouchdb-snappy/lists"}