{"id":14989898,"url":"https://github.com/curl/relative","last_synced_at":"2025-07-16T11:33:02.206Z","repository":{"id":47494685,"uuid":"399612642","full_name":"curl/relative","owner":"curl","description":"Tools to measure libcurl performance delta between versions","archived":false,"fork":false,"pushed_at":"2023-03-07T22:39:04.000Z","size":21,"stargazers_count":20,"open_issues_count":0,"forks_count":5,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-06-26T16:07:46.935Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/curl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-08-24T21:45:59.000Z","updated_at":"2024-10-28T16:47:58.000Z","dependencies_parsed_at":"2022-09-10T08:11:25.229Z","dependency_job_id":null,"html_url":"https://github.com/curl/relative","commit_stats":{"total_commits":17,"total_committers":3,"mean_commits":5.666666666666667,"dds":0.2941176470588235,"last_synced_commit":"a4e9e672889f16fcb6f5201138b1ed484d102410"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/curl/relative","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curl%2Frelative","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curl%2Frelative/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curl%2Frelative/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curl%2Frelative/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/curl","download_url":"https://codeload.github.com/curl/relative/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curl%2Frelative/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264033062,"owners_count":23546924,"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":[],"created_at":"2024-09-24T14:19:06.412Z","updated_at":"2025-07-16T11:33:02.089Z","avatar_url":"https://github.com/curl.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# relative\nTools to measure libcurl performance delta between versions\n\n## build-many\n\nThis script iterates over all the curl versions listed in the top of the file\nand for each version it will build and install it locally. It will clone the\ngit repository first if not present.\n\nEach built libcurl version is installed in `build/$version`. The used build\ndirectory will be removed after install.\n\n## run-many\n\nThis script iterates over all the libcurl versions found installed in\n`build/$version`. For each such version, it will set `LD_LIBRARY_PATH` and\nthen invoke `./sprinter` to have that specific version performance tested.\n\nIf the found libcurl version is older than 7.66.0, the `./sprinter-old` tool\nwill instead be used (to use a different API).\n\n## sprinter\n\nDownloads the same URL a given number of times, using a single thread and the\nlibcurl multi interface. It uses a specified number of concurrent transfers.\n\nThe data is simply dropped on receival. If any transfer returns an error, the\nentire operation is canceled and an error message is shown.\n\nOnly use this tool against servers you have permission to torture.\n\n### Example using 8GB downloads\n\n~~~\n$ ./sprinter localhost/8GB 6 2\ncurl: 7.79.0-DEV\nURL: localhost/8GB\nTransfers: 6 [2 in parallel]...\nTime: 8110158 us, 1351693.00 us/transfer\nFreq: 0.74 requests/second\nDownloaded: 51539608924 bytes, 48.0 GB\nSpeed: 6354945110.1 bytes/sec 6060.5 MB/s (8589934820 bytes/transfer)\n~~~\n\n### Example using 4KB downloads\n\n~~~\n$ ./sprinter localhost/4KB 100000 100\ncurl: 7.79.0-DEV\nURL: localhost/4KB\nTransfers: 100000 [100 in parallel]...\nTime: 4065449 us, 40.65 us/transfer\nFreq: 24597.53 requests/second\nDownloaded: 430255224 bytes, 0.4 GB\nSpeed: 105832153.8 bytes/sec 100.9 MB/s (4302 bytes/transfer)\n~~~\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcurl%2Frelative","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcurl%2Frelative","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcurl%2Frelative/lists"}