{"id":15914405,"url":"https://github.com/bbengfort/compile-workload","last_synced_at":"2025-04-03T03:27:30.938Z","repository":{"id":69222726,"uuid":"79924023","full_name":"bbengfort/compile-workload","owner":"bbengfort","description":"Python script to create a compiler workload and evaluate external performance. ","archived":false,"fork":false,"pushed_at":"2017-01-31T03:29:58.000Z","size":107,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-08T17:30:47.714Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","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/bbengfort.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":"2017-01-24T15:27:22.000Z","updated_at":"2024-10-05T13:33:06.000Z","dependencies_parsed_at":"2024-03-08T12:00:29.452Z","dependency_job_id":null,"html_url":"https://github.com/bbengfort/compile-workload","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbengfort%2Fcompile-workload","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbengfort%2Fcompile-workload/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbengfort%2Fcompile-workload/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbengfort%2Fcompile-workload/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bbengfort","download_url":"https://codeload.github.com/bbengfort/compile-workload/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246930689,"owners_count":20856663,"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-10-06T17:02:21.129Z","updated_at":"2025-04-03T03:27:30.917Z","avatar_url":"https://github.com/bbengfort.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Compile Workload\n\n**Python script to create a compiler workload and evaluate external performance.**\n\nThis script is intended to be used with [MemFS](https://github.com/bbengfort/memfs) to create a workload for evaluating system performance. The primary workload script does the following activities in the specified directory:\n\n1. Clone a repository\n2. Make/build in the repository\n3. Stat every file\n4. Report time and stats\n\nBecause compilation of a project is different on every system, project-specific steps are embedded in the workload file. The following projects are supported:\n\n1. [Redis](https://github.com/antirez/redis) (76MB, 591 files, 137,475 LOC)\n2. [Postgres](https://github.com/postgres/postgres) (422MB, 4,807 files, 910,948 LOC)\n3. [Nginx](https://github.com/nginx/nginx) (62MB, 440 files, 155,056 LOC)\n4. [Apache Web Server](https://github.com/apache/httpd) (362MB, 4,059 files, 503,006 LOC)\n5. [Ruby](https://github.com/ruby/ruby) (197MB, 3,281 files, 918,052 LOC)\n6. [Python 3](https://github.com/python/cpython) (382MB, 3,570 files, 931,814 LOC)\n\nRunning a workload is as follows:\n\n```\n$ python3 workload.py -o results.csv -p nginx /tmp/testdir\n```\n\nThis will run the workload on the Nginx repository, building in `/tmp/testdir` and appending the results to `results.csv`. Various options and defaults are provided and can be further inspected with:\n\n```\n$ python3 workload.py --help\n```\n\nNote that this script depends on many system and compiling dependencies to be available. Because they were already available on my system, I don't necessarily have a list of that I can expose through a requirements file. However, at a minimum, Git is required as are Xcode developer tools on a Macbook Pro.\n\nFor testing MemFS, I've created a simple script that runs through a single instance of the testing protocol. This should be used with care, however, as it is built for a specific system. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbengfort%2Fcompile-workload","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbbengfort%2Fcompile-workload","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbengfort%2Fcompile-workload/lists"}