{"id":13647532,"url":"https://github.com/nviennot/core-to-core-latency","last_synced_at":"2025-10-20T03:12:38.414Z","repository":{"id":59626209,"uuid":"537734968","full_name":"nviennot/core-to-core-latency","owner":"nviennot","description":"Measures the latency between CPU cores","archived":false,"fork":false,"pushed_at":"2024-08-13T13:13:21.000Z","size":33582,"stargazers_count":1203,"open_issues_count":94,"forks_count":87,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-04-14T19:59:37.765Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/nviennot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-MIT","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":"2022-09-17T07:38:34.000Z","updated_at":"2025-04-13T20:31:08.000Z","dependencies_parsed_at":"2025-04-14T18:19:17.604Z","dependency_job_id":"5536b846-94bd-4937-8aa2-8a8222c23879","html_url":"https://github.com/nviennot/core-to-core-latency","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nviennot%2Fcore-to-core-latency","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nviennot%2Fcore-to-core-latency/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nviennot%2Fcore-to-core-latency/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nviennot%2Fcore-to-core-latency/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nviennot","download_url":"https://codeload.github.com/nviennot/core-to-core-latency/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254337612,"owners_count":22054253,"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-08-02T01:03:37.819Z","updated_at":"2025-10-20T03:12:38.314Z","avatar_url":"https://github.com/nviennot.png","language":"Jupyter Notebook","funding_links":[],"categories":["Software","Jupyter Notebook","Concurrency"],"sub_categories":["Trends"],"readme":"Measuring CPU core-to-core latency\n==================================\n\n![License](https://img.shields.io/badge/license-MIT-green.svg)\n[![Cargo](https://img.shields.io/crates/v/core-to-core-latency.svg)](https://crates.io/crates/core-to-core-latency)\n[![Rust 1.57+](https://img.shields.io/badge/rust-1.57+-lightgray.svg)](https://www.rust-lang.org/tools/install)\n\n\nWe measure the latency it takes for a CPU to send a message to another CPU via\nits cache coherence protocol.\n\nBy pinning two threads on two different CPU cores, we can get them to do a bunch\nof compare-exchange operation, and measure the latency.\n\nHow to run:\n\n```\n$ cargo install core-to-core-latency\n$ core-to-core-latency\n```\n\nSingle socket results\n----------------------\n\nCPU                                                                            | Median Latency\n-------------------------------------------------------------------------------| ------------------\nAMD Ryzen 9 7950X, 16 Cores, zen4, 2022-Q3                                     | 68ns\nAMD EPYC 7773X, 64 Cores, Milan-X, 2022-Q1                                     | 115ns\nIntel Xeon Gold 6242, 16 Cores, Cascade Lake, 2019-Q2                          | 48ns\nIntel Xeon Phi 7210, 64 Cores, Knights Landing, 2016-Q2                        | 91ns\nHiSilicon Kunpeng 920-6426, 64 cores, ARMv8.2-A, 2019-Q1                       | 72ns\nIntel Core i9-12900K, 8P+8E Cores, Alder Lake, 12th gen, 2021-Q4               | 35ns, 44ns, 50ns\nIntel Core i9-9900K, 3.60GHz, 8 Cores, Coffee Lake, 9th gen, 2018-Q4           | 21ns\nIntel Core i7-1165G7, 2.80GHz, 4 Cores, Tiger Lake, 11th gen, 2020-Q3          | 27ns\nIntel Core i7-6700K, 4.00GHz, 4 Cores, Skylake, 6th gen, 2015-Q3               | 20ns\nIntel Core i5-10310U, 4 Cores, Comet Lake, 10th gen, 2020-Q2                   | 21ns\nIntel Core i5-4590, 3.30GHz 4 Cores, Haswell, 4th gen, 2014-Q2                 | 21ns\nApple M1 Pro, 6P+2E Cores, 2021-Q4                                             | 40ns, 53ns, 145ns\nIntel Xeon Platinum 8375C, 2.90GHz, 32 Cores, Ice Lake, 3rd gen, 2021-Q2       | 51ns\nIntel Xeon Platinum 8275CL, 3.00GHz, 24 Cores, Cascade Lake, 2nd gen, 2019-Q2  | 47ns\nIntel Xeon E5-2695 v4, 2.10GHz, 18 Cores, Broadwell, 5th gen, 2016-Q1          | 44ns\nAMD EPYC 7R13, 48 Cores, Milan, 3rd gen, 2021-Q1                               | 23ns, 107ns\nAMD Ryzen Threadripper 3960X, 3.80GHz, 24 Cores, Zen 2, 3rd Gen, 2019-Q4       | 24ns, 94ns\nAMD Ryzen Threadripper 1950X, 3.40GHz, 16 Cores, Zen, 1st Gen, 2017-Q3         | 25ns, 154ns\nAMD Ryzen 9 5950X, 3.40GHz, 16 Cores, Zen3, 4th gen, 2020-Q4                   | 17ns, 85ns\nAMD Ryzen 9 5900X, 3.40GHz, 12 Cores, Zen3, 4th gen, 2020-Q4                   | 16ns, 84ns\nAMD Ryzen 7 5800U, 1.9GHz up to 4.4GHz, 8 Cores, Zen3, 4th gen, 2021-Q4        | 19ns\nAMD Ryzen 7 5700X, 3.40GHz, 8 Cores, Zen3, 4th gen, 2022-Q2                    | 18ns\nAMD Ryzen 7 2700X, 3.70GHz, 8 Cores, Zen+, 2nd gen, 2018-Q3                    | 24ns, 92ns\nAMD Ryzen 9 5900HX, 3.3GHz, 8 Cores, Zen3, 4th gen, 2021-Q1                    | 8ns, 17ns, 18ns\nAWS Graviton3, 64 Cores, Arm Neoverse, 3rd gen, 2021-Q4                        | 46ns\nAWS Graviton2, 64 Cores, Arm Neoverse, 2rd gen, 2020-Q1                        | 47ns\nSun/Oracle SPARC T4, 2.85GHz, 8 cores, 2011-Q3                                 | 98ns\nIBM Power7, 3.3GHz, 8 Cores, 2010-Q1                                           | 173ns\nIBM PowerPC 970, 1.8GHz, 2 Cores, 2003-Q2                                      | 576ns\n\n## Intel Xeon Phi 7210, 64 Cores, Knights Landing, 2016-Q2\n\nData provided by [Concyclics](https://github.com/Concyclics).\n\n![image](https://user-images.githubusercontent.com/33325023/212899823-9c9513c9-33a9-49a6-8e8a-b881811e4c2b.png)\n\n## HiSilicon Kunpeng 920-6426, 64 cores, ARMv8.2-A, 2019-Q1\n\nData provided by [Concyclics](https://github.com/Concyclics).\n\n![image](https://user-images.githubusercontent.com/33325023/212899952-fb6cee52-ba0d-4add-8896-4278d57d04db.png)\n\n## Intel Xeon Gold 6242, 16 Cores, Cascade Lake, 2019-Q2\n\nData provided by [Concyclics](https://github.com/Concyclics).\n\n![image](https://user-images.githubusercontent.com/33325023/212899588-5ca08d1a-24bf-401b-8955-5052a6244aaf.png)\n\n## AMD Ryzen 9 7950X, 16 Cores, zen4, 2022-Q3\n\nData provided by [zamadatix](https://github.com/zamadatix).\n\n![image](https://user-images.githubusercontent.com/33325023/212899457-2126ad0b-f38f-4b56-b723-05bc1bb18172.png)\n\nData provided by [zamadatix](https://github.com/zamadatix).\n\n## AMD EPYC 7773X, 64 Cores, Milan-X, 2022-Q1\n\nData provided by [SchrodingerZhu](https://github.com/SchrodingerZhu).\n\n![image](https://user-images.githubusercontent.com/33325023/212899131-5599bdcc-e2f7-4c33-9f42-cabd34e15251.png)\n\n## Loongson 3A5000HV, 2.5GHz, 4 Cores, 2021-Q3\n\nData provided by [Glavo](https://github.com/Glavo).\n\n![image](https://user-images.githubusercontent.com/33325023/212898113-8605327a-ff34-4f57-a46a-ee488c3437c8.png)\n\n## Intel Core i9-12900K, 8P+8E Cores, Alder Lake, 12th gen, 2021-Q4\n\nData provided by [bizude](https://github.com/bizude).\n\nThis CPU has 8 performance cores, and 2 groups of 4 efficient cores.\nWe see CPU=8 with fast access to all other cores.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190930511-337ef53e-52c0-4350-9022-485689b7f242.png\" width=\"530\" /\u003e\n\n## Intel Core i9-9900K, 3.60GHz, 8 Cores, Coffee Lake, 8th gen, 2018-Q4\n\nData provided by [nviennot](https://github.com/nviennot).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190918912-8b551b33-14e6-4cd3-a82d-8ac241d1abb6.png\" width=\"400\" /\u003e\n\n## Intel Core i7-1165G7, 2.80GHz, 4 Cores, Tiger Lake, 11th gen, 2020-Q3\n\nData provided by [Jonas Wunderlich](https://github.com/jonas-w).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190963117-ee579206-b352-41c7-8cc2-f21c10ce2506.png\" width=\"450\" /\u003e\n\n## Intel Core i7-6700K, 4.00GHz, 4 Cores, Skylake, 6th gen, 2015-Q3\n\nData provided by [CanIGetaPR](https://github.com/CanIGetaPR).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190945571-a48078bc-0399-489a-81ea-271413aeec13.png\" width=\"450\" /\u003e\n\n## Intel Core i5-10310U, 4 Cores, Comet Lake, 10th gen, 2020-Q2\n\nData provided by [Ashley Sommer](https://github.com/ashleysommer).\n\n\u003cimg src = \"https://user-images.githubusercontent.com/297060/190940870-526100e5-18bd-4a53-8d96-982627db581d.png\" width=\"450\" /\u003e\n\n## Intel Core i5-4590, 3.30GHz, 4 Cores, Haswell, 4th gen, 2014-Q2\n\nData provided by [Felipe Lube de Bragança](https://github.com/felubra).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190928985-42e13598-f5dc-4b49-b67e-dc300207d3c7.png\" width=\"450\" /\u003e\n\n## Apple M1 Pro, 6P+2E Cores, 2021-Q4\n\nData provided by [Aditya Sharma](https://github.com/epk).\n\nWe see the two efficent cores clustered together with a latency of 53ns, then two groups of 3\nperformance cores, with a latency of 40ns. Cross-group communication is slow at ~145ns, which is a\nlatency typically seen in multi-socket configurations.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190963421-ce5b59f6-c6ec-4066-b275-9cb5af0fc4be.png\" width=\"400\" /\u003e\n\n## Intel Xeon Platinum 8375C, 2.90GHz 32 Cores, Ice Lake, 3rd gen, 2021-Q2\n\nFrom an AWS `c6i.metal` machine.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190918865-7eaae192-6da6-41db-8faf-9496f6a7754b.png\" width=\"1000\" /\u003e\n\n## Intel Xeon Platinum 8275CL, 3.00GHz 24 Cores, Cascade Lake, 2nd gen, 2019-Q2\n\nFrom an AWS `c5.metal` machine.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190918895-8b90cc12-2e72-41d1-808b-6f03a8771898.png\" width=\"700\" /\u003e\n\n## Intel Xeon E5-2695 v4, 2.10GHz 18 Cores, Broadwell, 5th gen, 2016-Q1\n\nFrom a machine provided by GTHost\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190918934-a2b11676-e6e1-4b88-a8e4-6bf69663d477.png\" width=\"550\" /\u003e\n\n## AMD EPYC 7R13, 48 Cores, Milan, 3rd gen, 2021-Q1\n\nFrom an AWS `c6a.metal` machine.\n\nWe can see cores arranged in 6 groups of 8 in which latency is excellent within\n(23ns). When data crosses groups, the latency jumps to around 110ns. Note, that\nthe last 3 groups have a better cross-group latency than the first 3 (~90ns).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190893255-56ea9890-9e06-4f2d-bcef-249a70c4597b.png\" width=\"1000\" /\u003e\n\n## AMD Ryzen Threadripper 3960X, 3.80GHz, 24 Cores, Zen 2, 3rd Gen, 2019-Q4\n\nData provided by [Mathias Siegel](https://github.com/ToolsDevler).\n\nWe see the CPUs in 8 groups of 3, and better performance for CPUS in the group [13,24].\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190967989-efbe3341-9930-45e4-8cfe-c21d03abdb08.png\" width=\"1000\" /\u003e\n\n## AMD Ryzen Threadripper 1950X, 3.40GHz, 16 Cores, Zen, 1st Gen, 2017-Q3\n\nData provided by [Jakub Okoński](https://github.com/farnoy)\n\nWe see the CPUs in 4 groups of 4, and better performance for CPUS in the group [9,16].\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190970174-2dfc378c-c2fe-4084-8a51-c15226aed52f.png\" width=\"530\" /\u003e\n\n## AMD Ryzen 9 5950X, 3.40GHz 16 Cores, Zen3, 4th gen, 2020-Q1\n\nData provided by [John Schoenick](https://github.com/Nephyrin).\n\nWe can see two groups of 8 cores with latencies of 17ns intra-group, and 85ns inter-group.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190926938-400092a0-45ff-4a6c-816a-1b694767c993.png\" width=\"530\" /\u003e\n\n## AMD Ryzen 9 5900X, 3.40GHz, 12 Cores, Zen3, 4th gen, 2020-Q4\n\nData provided by [Scott Markwell](https://github.com/smarkwell).\n\nWe see two groups of 6 cores with latencies of 16ns intra-group and 84ns inter-group.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190958644-c2dc7ff8-8ba9-430a-9441-de0b720e57e1.png\" width=\"500\" /\u003e\n\n## AMD Ryzen 7 5800U, 1.9GHz up to 4.4GHz, 8 Cores, Zen3, 4th gen, 2021-Q4\n\nData provided by [George Melikov](https://github.com/gmelikov).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/3868786/193410701-7766999a-7949-4481-9172-6d8bac7f4c1d.png\" width=\"500\" /\u003e\n\n## AMD Ryzen 7 5700X, 3.40GHz, 8 Cores, Zen3, 4th gen, 2022-Q2\n\nData provided by [Ashley Sommer](https://github.com/ashleysommer).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190940634-7c2b8beb-4630-4bfd-833b-df932808c8fb.png\" width=\"400\" /\u003e\n\n## AMD Ryzen 7 2700X, 3.70GHz, 8 Cores, Zen+, 2nd gen, 2018-Q3\n\nData provided by [David Hoppenbrouwers](https://github.com/Demindiro).\n\nWe can see 2 groups of 4 cores with latencies of 24ns intra-group, and 92ns inter-group.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190931275-a4f8e842-a033-4438-9ceb-7f8a78951ec4.png\" width=\"400\" /\u003e\n\n## AMD Ryzen 9 5900HX, 3.3GHz, 8 Cores, Zen3, 4th gen, 2021-Q1\n\nData provided by [r4nd0m1z3r](https://github.com/r4nd0m1z3r).\n\n## AWS Graviton3, 64 Cores, Arm Neoverse, 3rd gen, 2021-Q4\n\nFrom an AWS `c7g.16xlarge` machine.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190919040-7d6d2283-cbef-4544-8b07-f93f71754343.png\" width=\"1000\" /\u003e\n\n## AWS Graviton2, 64 Cores, Arm Neoverse, 2nd gen, 2020-Q1\n\nFrom an AWS `c6gd.metal` machine.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190919053-11480075-6731-49ce-af03-f50bb27e8b33.png\" width=\"1000\" /\u003e\n\n## Sun/Oracle SPARC T4, 2.85GHz, 8 cores, 2011-Q3\n\nData provided by [Kokoa van Houten](https://github.com/koachan).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190962084-238b6491-4364-4c13-b9db-200cff80d33c.png\" width=\"400\" /\u003e\n\n## IBM Power7, 3.3GHz, 8 Cores, 2010-Q1\n\nData provided by [Kokoa van Houten](https://github.com/koachan).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190960589-4ffe3233-757a-402f-8194-9290e12a942b.png\" width=\"400\" /\u003e\n\n\nDual sockets results\n---------------------\n\nThe following shows dual-socket configuration latency where one CPU on the first socket sends a message to\nanother CPU on the second socket.\nThe number in parenthesis next to the latency denotes the slowdown compared to single socket.\n\nCPU                                                                            | Median Latency\n-------------------------------------------------------------------------------| ------------------\nIntel Xeon Gold 6242, 16 Cores, Cascade Lake, 2019-Q2                          | 136ns (2.8x)\nIntel Xeon Platinum 8375C, 2.90GHz, 32 Cores, Ice Lake, 3rd gen, 2021-Q2       | 108ns (2.1x)\nIntel Xeon Platinum 8275CL, 3.00GHz, 24 Cores, Cascade Lake, 2nd gen, 2019-Q2  | 134ns (2.8x)\nIntel Xeon E5-2695 v4, 2.10GHz, 18 Cores, Broadwell, 5th gen, 2016-Q1          | 118ns (2.7x)\nAMD EPYC 7R13, 48 Cores, Milan, 3rd gen, 2021-Q1                               | 197ns\nSun/Oracle SPARC T4, 2.85GHz, 8 cores, 2011-Q3                                 | 356ns (3.6x)\nIBM Power7, 3.3GHz, 8 Cores, 2010-Q1                                           | 443ns (2.5x)\n\n## Dual Intel Xeon Gold 6242, 16 Cores, Cascade Lake, 2019-Q2\n\nData provided by [Concyclics](https://github.com/Concyclics).\n\n![image](https://user-images.githubusercontent.com/33325023/212899689-4761dd65-5973-4a1a-8a39-5ebb1bf205a1.png)\n\n## Dual Intel Xeon Platinum 8375C, 2.90GHz 32 Cores, Ice Lake, 3rd gen, 2021-Q2\n\nFrom an AWS `c6i.metal` machine.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190943800-7c3a10b0-1ebb-4b49-b4a8-9f24cff5bd88.png\" width=\"1000\" /\u003e\n\n## Dual Intel Xeon Platinum 8275CL, 3.00GHz 24 Cores, Cascade Lake, 2nd gen, 2019-Q2\n\nFrom an AWS `c5.metal` machine.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190943799-80b844c1-3ddb-443f-82c4-20ddd2870130.png\" width=\"1000\" /\u003e\n\n## Dual Intel Xeon E5-2695 v4, 2.10GHz 18 Cores, Broadwell, 5th gen, 2016-Q1\n\nFrom a machine provided by GTHost\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190943798-69b63b1f-42d5-496c-b527-6e301cb38086.png\" width=\"1000\" /\u003e\n\n## Dual AMD EPYC 7R13, 48 Cores, Milan, 3rd gen, 2021-Q1\n\nFrom an AWS `c6a.metal` machine.\n\nThis one is a bit odd. The single socket test for Socket 1 shows median latencies of 107ns\ncross-groups, but Socket 2 shows 200ns. It's 2x slower, very odd. The other platforms don't behave this way.\nIn fact, the socket-to-socket latencies are than the core-to-core within Socket 2.\n\nAnandtech have measured [similar results on a Dual-Socket AMD EPYC 7763 and 7742](https://www.anandtech.com/show/16529/amd-epyc-milan-review/4).\n\n**Socket 2 does not behave similarly than Socket 1, it's twice as slow**.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190943333-3297c0aa-5d99-478a-8518-9eb6f96e4bc5.png\" width=\"1000\" /\u003e\n\n## Sun/Oracle SPARC T4, 2.85GHz, 8 cores, 2011-Q3\n\nData provided by [Kokoa van Houten](https://github.com/koachan).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190962083-2a781b0a-6923-45c9-a8cf-1ce87eb3dd58.png\" width=\"530\" /\u003e\n\n## Dual IBM Power7, 3.3GHz, 8 Cores, 2010-Q1\n\nData provided by [Kokoa van Houten](https://github.com/koachan).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/297060/190960588-e079d97d-a028-4da7-ac55-ae982e1cd430.png\" width=\"530\" /\u003e\n\nHyper-threads\n-------------\n\nWe measure the latency between two hyper-threads of the same core\n\nCPU                                                                            | Median Latency\n-------------------------------------------------------------------------------| ------------------\nAMD Ryzen 9 7950X, 16 Cores, zne4, 2022-Q3                                     | 5.3ns\nAMD EPYC 7773X, 64 Cores, Milan-X, 2022-Q1                                     | 10ns\nIntel Xeon Gold 6242, 16 Cores, Cascade Lake, 2019-Q2                          | 7.4ns\nIntel Core i9-12900K, 8+8 Cores, Alder Lake, 12th gen, 2021-Q4                 | 4.3ns\nIntel Core i9-9900K, 3.60GHz, 8 Cores, Coffee Lake, 9th gen, 2018-Q4           | 6.2ns\nIntel Core i7-1165G7, 2.80GHz, 4 Cores, Tiger Lake, 11th gen, 2020-Q3          | 5.9ns\nIntel Core i7-6700K, 4.00GHz, 4 Cores, Skylake, 6th gen, 2015-Q3               | 6.9ns\nIntel Core i5-10310U, 4 Cores, Comet Lake, 10th gen, 2020-Q2                   | 7.3ns\nIntel Xeon Platinum 8375C, 2.90GHz, 32 Cores, Ice Lake, 3rd gen, 2021-Q2       | 8.1ns\nIntel Xeon Platinum 8275CL, 3.00GHz, 24 Cores, Cascade Lake, 2nd gen, 2019-Q2  | 7.6ns\nIntel Xeon E5-2695 v4, 2.10GHz, 18 Cores, Broadwell, 5th gen, 2016-Q1          | 7.6ns\nAMD EPYC 7R13, 48 Cores, Milan, 3rd gen, 2021-Q1                               | 9.8ns\nAMD Ryzen Threadripper 3960X, 3.80GHz, 24 Cores, Zen 2, 3rd Gen, 2019-Q4       | 6.5ns\nAMD Ryzen Threadripper 1950X, 3.40GHz, 16 Cores, Zen, 1st Gen, 2017-Q3         | 10ns\nAMD Ryzen 9 5950X, 3.40GHz, 16 Cores, Zen3, 4th gen, 2020-Q4                   | 7.8ns\nAMD Ryzen 9 5900X, 3.40GHz, 12 Cores, Zen3, 4th gen, 2020-Q4                   | 7.6ns\nAMD Ryzen 7 5700X, 3.40GHz, 8 Cores, Zen3, 4th gen, 2022-Q2                    | 7.8ns\nAMD Ryzen 7 2700X, 3.70GHz, 8 Cores, Zen+, 2nd gen, 2018-Q3                    | 9.7ns\nSun/Oracle SPARC T4, 2.85GHz, 8 cores, 2011-Q3                                 | 24ns\nIBM Power7, 3.3GHz, 8 Cores, 2010-Q1                                           | 70ns\n\n---\n\n**The notebook [results/results.ipynb](results/results.ipynb) contains the code to generate these graphs**\n\nHow to use\n----------\n\nFirst [install Rust](https://www.rust-lang.org/tools/install) and `gcc` on linux, then:\n\n```\n$ cargo install core-to-core-latency\n$ core-to-core-latency\nNum cores: 10\nUsing RDTSC to measure time: false\nNum round trips per samples: 1000\nNum samples: 300\nShowing latency=round-trip-time/2 in nanoseconds:\n\n       0       1       2       3       4       5       6       7       8       9\n  0\n  1   52±6\n  2   38±6    39±4\n  3   39±5    39±6    38±6\n  4   34±6    38±4    37±6    36±5\n  5   38±5    38±6    38±6    38±6    37±6\n  6   38±5    37±6    39±6    36±4    49±6    38±6\n  7   36±6    39±5    39±6    37±6    35±6    36±6    38±6\n  8   37±5    38±6    35±5    39±5    38±6    38±5    37±6    37±6\n  9   48±6    39±6    36±6    39±6    38±6    36±6    41±6    38±6    39±6\n\nMin  latency: 34.5ns ±6.1 cores: (4,0)\nMax  latency: 52.1ns ±9.4 cores: (1,0)\nMean latency: 38.4ns\n```\n\nContribute\n-----------\n\nUse `core-to-core-latency 5000 --csv \u003e output.csv` to instruct the program to use\n5000 iterations per sample to reduce the noise, and save the results.\n\nIt can be used in the jupter notebook [results/results.ipynb](results/results.ipynb) for rendering graphs.\n\nCreate a GitHub issue with the generated `output.csv` file and I'll add your results.\n\nLicense\n-------\n\nThis software is licensed under the MIT license\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnviennot%2Fcore-to-core-latency","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnviennot%2Fcore-to-core-latency","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnviennot%2Fcore-to-core-latency/lists"}