{"id":19053641,"url":"https://github.com/nating/cache-me-if-you-can","last_synced_at":"2026-06-17T18:32:36.259Z","repository":{"id":91224612,"uuid":"78961300","full_name":"nating/cache-me-if-you-can","owner":"nating","description":"🔂 A program for simulating caches. 🗃","archived":false,"fork":false,"pushed_at":"2017-01-15T04:45:32.000Z","size":316,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-11T18:25:39.517Z","etag":null,"topics":["simulating-caches"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"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/nating.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}},"created_at":"2017-01-14T19:18:44.000Z","updated_at":"2017-01-14T19:41:05.000Z","dependencies_parsed_at":"2023-03-20T18:16:43.187Z","dependency_job_id":null,"html_url":"https://github.com/nating/cache-me-if-you-can","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nating/cache-me-if-you-can","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nating%2Fcache-me-if-you-can","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nating%2Fcache-me-if-you-can/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nating%2Fcache-me-if-you-can/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nating%2Fcache-me-if-you-can/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nating","download_url":"https://codeload.github.com/nating/cache-me-if-you-can/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nating%2Fcache-me-if-you-can/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34461616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"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":["simulating-caches"],"created_at":"2024-11-08T23:33:03.013Z","updated_at":"2026-06-17T18:32:36.228Z","avatar_url":"https://github.com/nating.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cache-me-if-you-can\nA program for simulating caches.\n\n## About\nThis program finds the cache number of cache hits and the number of the different types of cache misses for a cache specified by the user for a trace of address accesses specified by the user. Each Cache uses a Least Recently Used replacement policy.\n\n## Organization of a cache\n\n\u003cimg src=\"https://github.com/nating/cache-me-if-you-can/blob/master/assets/cache-explanation.png\" width=\"800\"\u003e\n\n## Calculations\nThis is how each cache-miss 'type' is calculated. The definition of each of these 'type's of cache-miss is given as just the way in which they are calculated, as below.\n\n\u003cimg src=\"https://github.com/nating/cache-me-if-you-can/blob/master/assets/cache-miss-calculations.jpg\" width=\"600\"\u003e\n\n## Usage\n\n`java Cache \u003cbytes per block\u003e \u003clines in a set\u003e \u003csets in the cache\u003e \u003caddresses accessed in trace\u003e`\n\nThis command must be followed by x lines of 32 bit addresses for the trace written in hexidecimal without the \"0x\" prefix. Where x is the number of addresses accessed in the trace.\n\n## Example\nHere is an example using the cache from the visualisation above.\n\n### Input\njava Cache 16 4 2 32  \n0000  \n0004  \n000c  \n2200  \n00d0  \n00e0  \n1130  \n0028  \n113c  \n2204  \n0010  \n0020   \n0004  \n0040  \n2208  \n0008  \n00a0  \n0004  \n1104  \n0028  \n000c  \n0084  \n000c  \n3390  \n00b0  \n1100  \n0028  \n0064  \n0070  \n00d0  \n0008  \n3394  \n\n### Output\nTotal Hits: 15  \nTotal Misses: 17  \nCompulsory: 15  \nCapacity: 1  \nConflict: 1  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnating%2Fcache-me-if-you-can","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnating%2Fcache-me-if-you-can","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnating%2Fcache-me-if-you-can/lists"}