{"id":23274028,"url":"https://github.com/alpertunga-bile/lz-string","last_synced_at":"2025-10-17T15:03:34.887Z","repository":{"id":266912540,"uuid":"899046574","full_name":"alpertunga-bile/lz-string","owner":"alpertunga-bile","description":"C++20 implemantation of lz-string","archived":false,"fork":false,"pushed_at":"2025-02-25T20:11:51.000Z","size":163,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-25T21:22:59.356Z","etag":null,"topics":["cpp20","cpp20-library","lz-string","string-compression"],"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/alpertunga-bile.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-12-05T14:22:04.000Z","updated_at":"2025-02-25T20:11:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"8e9f011c-5a1c-460b-aaa2-0f66cf18765f","html_url":"https://github.com/alpertunga-bile/lz-string","commit_stats":null,"previous_names":["alpertunga-bile/lz-string"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alpertunga-bile%2Flz-string","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alpertunga-bile%2Flz-string/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alpertunga-bile%2Flz-string/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alpertunga-bile%2Flz-string/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alpertunga-bile","download_url":"https://codeload.github.com/alpertunga-bile/lz-string/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247471363,"owners_count":20944154,"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":["cpp20","cpp20-library","lz-string","string-compression"],"created_at":"2024-12-19T20:11:34.347Z","updated_at":"2025-10-17T15:03:34.882Z","avatar_url":"https://github.com/alpertunga-bile.png","language":"C++","readme":"# lz-string\n\n![cd_badge](https://github.com/alpertunga-bile/lz-string/actions/workflows/cd.yml/badge.svg)\n![ci_badge](https://github.com/alpertunga-bile/lz-string/actions/workflows/ci.yml/badge.svg)\n\nC++20 implementation of [lz-string](https://github.com/pieroxy/lz-string)\n\n- [lz-string](#lz-string)\n  - [Features](#features)\n  - [Tests](#tests)\n    - [Test Results](#test-results)\n  - [Benchmark](#benchmark)\n\n## Features\n\n- Includes all compress and decompress functions\n- No dependencies\n  - [ ] tests require GoogleTest\n  - [ ] benchmark requires Google Benchmark\n  - [x] They are installed automatically.\n\n## Tests\n\n- Current tests are:\n\n|  Test Name  | Description                                         |\n| :---------: | :-------------------------------------------------- |\n| HelloWorld  | Classic hello world                                 |\n|  AllASCII   | Including all the ASCII characters                  |\n|    JSON     | Temp json including all data types except float     |\n|  JSONFloat  | Temp json file including floats, objects and arrays |\n|     PI      | PI number's digits                                  |\n| Lorem Ipsum | Default lorem ipsum text                            |\n|  Repeated   | Including repeated pattern                          |\n|   Tattoo    | Classic text paragraph to test                      |\n\n- Can run the tests with `run_tests` script files.\n\n### Test Results\n\n- Last updated date (dd-MM-yyyy): 13-12-2024\n\n|       Function       | HelloWorld | AllASCII | JSON | JSONFloat | PI  | Lorem Ipsum | Repeated | Tattoo |\n| :------------------: | :--------: | :------: | :--: | :-------: | :-: | :---------: | :------: | :----- |\n|       Compress       |     ✔      |    ✔     |  ✔   |     ✔     |  ✔  |      ✔      |    ✔     | ✔      |\n|    CompressUTF16     |     ✔      |    ✔     |  ✔   |     ✔     |  ✔  |      ✔      |    ✔     | ✔      |\n|    CompressBase64    |     ✔      |    ✔     |  ✔   |     ✔     |  ✔  |      ✔      |    ✔     | ✔      |\n|     CompressURI      |     ✔      |    ✔     |  ✔   |     ✔     |  ✔  |      ✔      |    ✔     | ✔      |\n|  CompressUint8Array  |     ✔      |    ✔     |  ✔   |     ✔     |  ✔  |      ✔      |    ✔     | ✔      |\n|      Decompress      |     ✔      |    ✔     |  ✔   |     ✔     |  ✔  |      ✔      |    ✔     | ✔      |\n|   DecompressUTF16    |     ✔      |    ✔     |  ✔   |     ✔     |  ✔  |      ✔      |    ✔     | ✔      |\n|   DecompressBase64   |     ✔      |    ✔     |  ✔   |     ✔     |  ✔  |      ✔      |    ✔     | ✔      |\n|    DecompressURI     |     ✔      |    ✔     |  ✔   |     ✔     |  ✔  |      ✔      |    ✔     | ✔      |\n| DecompressUint8Array |     ✔      |    ✔     |  ✔   |     ✔     |  ✔  |      ✔      |    ✔     | ✔      |\n\n## Benchmark\n\n\u003cpre\u003e\nRunning ./lz_string_benchmark\nRun on (6 X 4100 MHz CPU s)\nCPU Caches:\n  L1 Data 32 KiB (x6)\n  L1 Instruction 32 KiB (x6)\n  L2 Unified 256 KiB (x6)\n  L3 Unified 9216 KiB (x1)\nLoad Average: 0.83, 1.11, 1.24\n***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.\n---------------------------------------------------------------------------------------------------------------\nBenchmark                                                                     Time             CPU   Iterations\n---------------------------------------------------------------------------------------------------------------\nBM_compress_hello_world/iterations:100000                                  4.18 ns         4.14 ns       100000\nBM_compress_all_ascii/iterations:100000                                    4.12 ns         4.12 ns       100000\nBM_compress_temp_json/iterations:100000                                    4.15 ns         4.13 ns       100000\nBM_compress_temp_json_float/iterations:100000                              4.12 ns         4.12 ns       100000\nBM_compress_lorem_ipsum/iterations:100000                                  4.12 ns         4.12 ns       100000\nBM_compress_pi/iterations:100000                                           4.15 ns         4.13 ns       100000\nBM_compress_repeated/iterations:100000                                     4.12 ns         4.12 ns       100000\nBM_compress_tattoo/iterations:100000                                       4.46 ns         4.44 ns       100000\nBM_compressUTF16_hello_world/iterations:100000                             5.79 ns         5.79 ns       100000\nBM_compressUTF16_all_ascii/iterations:100000                               6.29 ns         6.27 ns       100000\nBM_compressUTF16_temp_json/iterations:100000                               6.35 ns         6.32 ns       100000\nBM_compressUTF16_temp_json_float/iterations:100000                         5.68 ns         5.68 ns       100000\nBM_compressUTF16_lorem_ipsum/iterations:100000                             6.20 ns         6.17 ns       100000\nBM_compressUTF16_pi/iterations:100000                                      5.42 ns         5.42 ns       100000\nBM_compressUTF16_repeated/iterations:100000                                5.95 ns         5.93 ns       100000\nBM_compressUTF16_tattoo/iterations:100000                                  5.85 ns         5.84 ns       100000\nBM_compressBase64_hello_world/iterations:100000                            4.95 ns         4.93 ns       100000\nBM_compressBase64_all_ascii/iterations:100000                              4.02 ns         4.02 ns       100000\nBM_compressBase64_temp_json/iterations:100000                              4.38 ns         4.36 ns       100000\nBM_compressBase64_temp_json_float/iterations:100000                        4.09 ns         4.09 ns       100000\nBM_compressBase64_lorem_ipsum/iterations:100000                            4.57 ns         4.55 ns       100000\nBM_compressBase64_pi/iterations:100000                                     4.48 ns         4.49 ns       100000\nBM_compressBase64_repeated/iterations:100000                               4.59 ns         4.57 ns       100000\nBM_compressBase64_tattoo/iterations:100000                                 4.21 ns         4.21 ns       100000\nBM_compressEncodedURI_hello_world/iterations:100000                        4.89 ns         4.88 ns       100000\nBM_compressEncodedURI_all_ascii/iterations:100000                          4.74 ns         4.74 ns       100000\nBM_compressEncodedURI_temp_json/iterations:100000                          5.61 ns         5.48 ns       100000\nBM_compressEncodedURI_temp_json_float/iterations:100000                    5.31 ns         5.31 ns       100000\nBM_compressEncodedURI_lorem_ipsum/iterations:100000                        5.01 ns         4.98 ns       100000\nBM_compressEncodedURI_pi/iterations:100000                                 4.59 ns         4.59 ns       100000\nBM_compressEncodedURI_repeated/iterations:100000                           5.54 ns         5.52 ns       100000\nBM_compressEncodedURI_tattoo/iterations:100000                             5.09 ns         5.09 ns       100000\nBM_compressUint8Array_hello_world/iterations:100000                        3.43 ns         3.42 ns       100000\nBM_compressUint8Array_all_ascii/iterations:100000                          2.97 ns         2.97 ns       100000\nBM_compressUint8Array_temp_json/iterations:100000                          3.20 ns         3.20 ns       100000\nBM_compressUint8Array_temp_json_float/iterations:100000                    2.96 ns         2.96 ns       100000\nBM_compressUint8Array_lorem_ipsum/iterations:100000                        3.71 ns         3.69 ns       100000\nBM_compressUint8Array_pi/iterations:100000                                 2.76 ns         2.76 ns       100000\nBM_compressUint8Array_repeated/iterations:100000                           3.30 ns         3.30 ns       100000\nBM_compressUint8Array_tattoo/iterations:100000                             3.19 ns         3.17 ns       100000\nBM_decompress_decompress_hello_world/iterations:100000                     4.52 ns         4.52 ns       100000\nBM_decompress_decompress_all_ascii/iterations:100000                       5.20 ns         5.18 ns       100000\nBM_decompress_decompress_temp_json/iterations:100000                       4.52 ns         4.52 ns       100000\nBM_decompress_decompress_temp_json_float/iterations:100000                 4.55 ns         4.53 ns       100000\nBM_decompress_decompress_lorem_ipsum/iterations:100000                     4.52 ns         4.52 ns       100000\nBM_decompress_decompress_pi/iterations:100000                              4.85 ns         4.83 ns       100000\nBM_decompress_decompress_repeated/iterations:100000                        4.52 ns         4.52 ns       100000\nBM_decompress_decompress_tattoo/iterations:100000                          4.54 ns         4.53 ns       100000\nBM_decompress_decompressUTF16_hello_world/iterations:100000                4.02 ns         4.02 ns       100000\nBM_decompress_decompressUTF16_all_ascii/iterations:100000                  4.02 ns         4.02 ns       100000\nBM_decompress_decompressUTF16_temp_json/iterations:100000                  4.32 ns         4.30 ns       100000\nBM_decompress_decompressUTF16_temp_json_float/iterations:100000            4.02 ns         4.02 ns       100000\nBM_decompress_decompressUTF16_lorem_ipsum/iterations:100000                4.05 ns         4.02 ns       100000\nBM_decompress_decompressUTF16_pi/iterations:100000                         4.02 ns         4.02 ns       100000\nBM_decompress_decompressUTF16_repeated/iterations:100000                   4.02 ns         4.02 ns       100000\nBM_decompress_decompressUTF16_tattoo/iterations:100000                     4.33 ns         4.31 ns       100000\nBM_decompress_decompressBase64_hello_world/iterations:100000               4.89 ns         4.89 ns       100000\nBM_decompress_decompressBase64_all_ascii/iterations:100000                 4.92 ns         4.90 ns       100000\nBM_decompress_decompressBase64_temp_json/iterations:100000                 4.89 ns         4.89 ns       100000\nBM_decompress_decompressBase64_temp_json_float/iterations:100000           5.14 ns         5.13 ns       100000\nBM_decompress_decompressBase64_lorem_ipsum/iterations:100000               4.89 ns         4.89 ns       100000\nBM_decompress_decompressBase64_pi/iterations:100000                        4.87 ns         4.85 ns       100000\nBM_decompress_decompressBase64_repeated/iterations:100000                  5.38 ns         5.38 ns       100000\nBM_decompress_decompressBase64_tattoo/iterations:100000                    5.37 ns         5.35 ns       100000\nBM_decompress_decompressEncodedURI_hello_world/iterations:100000           4.41 ns         4.41 ns       100000\nBM_decompress_decompressEncodedURI_all_ascii/iterations:100000             4.59 ns         4.57 ns       100000\nBM_decompress_decompressEncodedURI_temp_json/iterations:100000             4.27 ns         4.27 ns       100000\nBM_decompress_decompressEncodedURI_temp_json_float/iterations:100000       4.38 ns         4.36 ns       100000\nBM_decompress_decompressEncodedURI_lorem_ipsum/iterations:100000           4.45 ns         4.45 ns       100000\nBM_decompress_decompressEncodedURI_pi/iterations:100000                    4.78 ns         4.76 ns       100000\nBM_decompress_decompressEncodedURI_repeated/iterations:100000              4.47 ns         4.47 ns       100000\nBM_decompress_decompressEncodedURI_tattoo/iterations:100000                4.81 ns         4.78 ns       100000\nBM_decompress_decompressUint8Array_hello_world/iterations:100000           3.87 ns         3.87 ns       100000\nBM_decompress_decompressUint8Array_all_ascii/iterations:100000             5.12 ns         5.10 ns       100000\nBM_decompress_decompressUint8Array_temp_json/iterations:100000             4.13 ns         4.13 ns       100000\nBM_decompress_decompressUint8Array_temp_json_float/iterations:100000       4.27 ns         4.27 ns       100000\nBM_decompress_decompressUint8Array_lorem_ipsum/iterations:100000           4.08 ns         4.06 ns       100000\nBM_decompress_decompressUint8Array_pi/iterations:100000                    4.80 ns         4.80 ns       100000\nBM_decompress_decompressUint8Array_repeated/iterations:100000              4.24 ns         4.23 ns       100000\nBM_decompress_decompressUint8Array_tattoo/iterations:100000                4.52 ns         4.52 ns       100000\n\u003c/pre\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falpertunga-bile%2Flz-string","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falpertunga-bile%2Flz-string","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falpertunga-bile%2Flz-string/lists"}