Skip to content

Instantly share code, notes, and snippets.

@mike-barber
Created December 28, 2021 15:46
Show Gist options
  • Save mike-barber/15ba7bdbb35999817788b90c19adf4bb to your computer and use it in GitHub Desktop.
Save mike-barber/15ba7bdbb35999817788b90c19adf4bb to your computer and use it in GitHub Desktop.
Dave's Garage Primes performance comparison - Hyper-V
{
"version": "1",
"metadata": {
"date": 1640690389,
"user": "davepl"
},
"machine": {
"cpu": {
"manufacturer": "AMD",
"brand": "Ryzen 9 5950X 16-Core Processor",
"vendor": "AuthenticAMD",
"family": "25",
"model": "33",
"stepping": "0",
"revision": "",
"voltage": "",
"speed": 3.4,
"speedMin": null,
"speedMax": null,
"governor": "",
"cores": 32,
"physicalCores": 16,
"processors": 1,
"socket": "",
"flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext ssbd ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves xsaveerptr arat vaes vpclmulqdq rdpid fsrm",
"virtualization": false,
"cache": {
"l1d": 524288,
"l1i": 524288,
"l2": 8388608,
"l3": 33554432
}
},
"os": {
"platform": "linux",
"distro": "Ubuntu",
"release": "20.04.3 LTS",
"codename": "Focal Fossa",
"kernel": "5.11.0-43-generic",
"arch": "x64",
"codepage": "UTF-8",
"logofile": "ubuntu",
"build": "",
"servicepack": "",
"uefi": true
},
"system": {
"manufacturer": "Microsoft Corporation",
"model": "Virtual Machine",
"version": "Hyper-V UEFI Release v4.1",
"sku": "-",
"virtual": true
},
"docker": {
"kernelVersion": "5.11.0-43-generic",
"operatingSystem": "Ubuntu 20.04.3 LTS",
"osVersion": "20.04",
"osType": "linux",
"architecture": "x86_64",
"ncpu": 32,
"memTotal": 14702809088,
"serverVersion": "20.10.12"
}
},
"results": [
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-rotate",
"passes": 3427,
"duration": 5.0003142357,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-blocks16k",
"passes": 7184,
"duration": 5.0002837181,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-blocks4k",
"passes": 6827,
"duration": 5.0003032684,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-hybrid-blocks16k",
"passes": 9243,
"duration": 5.0002593994,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-hybrid-blocks4k",
"passes": 7336,
"duration": 5.0088810921,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-unrolled-hybrid",
"passes": 18608,
"duration": 5.0101613998,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-extreme-hybrid",
"passes": 20016,
"duration": 5.0028133392,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-rotate",
"passes": 80834,
"duration": 5.0130152702,
"threads": 32,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-blocks16k",
"passes": 126405,
"duration": 5.0118169785,
"threads": 32,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-blocks4k",
"passes": 123466,
"duration": 5.0104622841,
"threads": 32,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-hybrid-blocks16k",
"passes": 155663,
"duration": 5.018881321,
"threads": 32,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-hybrid-blocks4k",
"passes": 150547,
"duration": 5.010972023,
"threads": 32,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-unrolled-hybrid",
"passes": 344313,
"duration": 5.0117049217,
"threads": 32,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-extreme-hybrid",
"passes": 347538,
"duration": 5.0107741356,
"threads": 32,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
}
]
}
{
"version": "1",
"metadata": {
"date": 1640703797
},
"machine": {
"cpu": {
"manufacturer": "AMD",
"brand": "Ryzen 9 3900X 12-Core Processor",
"vendor": "AuthenticAMD",
"family": "23",
"model": "113",
"stepping": "0",
"revision": "",
"voltage": "",
"speed": 3.8,
"speedMin": null,
"speedMax": null,
"governor": "",
"cores": 24,
"physicalCores": 12,
"processors": 1,
"socket": "",
"flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext ssbd ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves xsaveerptr virt_ssbd arat rdpid",
"virtualization": false,
"cache": {
"l1d": 393216,
"l1i": 393216,
"l2": 6291456,
"l3": 16777216
}
},
"os": {
"platform": "linux",
"distro": "Ubuntu",
"release": "20.04.3 LTS",
"codename": "Focal Fossa",
"kernel": "5.11.0-43-generic",
"arch": "x64",
"codepage": "UTF-8",
"logofile": "ubuntu",
"build": "",
"servicepack": "",
"uefi": true
},
"system": {
"manufacturer": "Microsoft Corporation",
"model": "Virtual Machine",
"version": "Hyper-V UEFI Release v4.0",
"sku": "-",
"virtual": true
},
"docker": {
"kernelVersion": "5.11.0-43-generic",
"operatingSystem": "Ubuntu 20.04.3 LTS",
"osVersion": "20.04",
"osType": "linux",
"architecture": "x86_64",
"ncpu": 24,
"memTotal": 8335560704,
"serverVersion": "20.10.12"
}
},
"results": [
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-rotate",
"passes": 13283,
"duration": 5.0003643036,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-blocks16k",
"passes": 20772,
"duration": 5.000082016,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-blocks4k",
"passes": 19451,
"duration": 5.0001096725,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-hybrid-blocks16k",
"passes": 25675,
"duration": 5.000087738,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-hybrid-blocks4k",
"passes": 23678,
"duration": 5.0000844002,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-unrolled-hybrid",
"passes": 58397,
"duration": 5.0000014305,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-extreme-hybrid",
"passes": 59399,
"duration": 5.0000753403,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-rotate",
"passes": 169348,
"duration": 5.0009479523,
"threads": 24,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-blocks16k",
"passes": 230686,
"duration": 5.0011606216,
"threads": 24,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-blocks4k",
"passes": 235497,
"duration": 5.0009150505,
"threads": 24,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-hybrid-blocks16k",
"passes": 282603,
"duration": 5.0012159348,
"threads": 24,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-hybrid-blocks4k",
"passes": 281714,
"duration": 5.0009140968,
"threads": 24,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-unrolled-hybrid",
"passes": 622328,
"duration": 5.0009889603,
"threads": 24,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-extreme-hybrid",
"passes": 643791,
"duration": 5.0011606216,
"threads": 24,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
}
]
}
{
"version": "1",
"metadata": {
"date": 1640705269
},
"machine": {
"cpu": {
"manufacturer": "AMD",
"brand": "Ryzen 9 3900X 12-Core Processor",
"vendor": "AuthenticAMD",
"family": "23",
"model": "113",
"stepping": "0",
"revision": "",
"voltage": "",
"speed": 3.8,
"speedMin": null,
"speedMax": null,
"governor": "",
"cores": 24,
"physicalCores": 12,
"processors": 1,
"socket": "",
"flags": "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext ssbd ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr virt_ssbd arat umip rdpid",
"virtualization": false,
"cache": {
"l1d": 393216,
"l1i": 393216,
"l2": 6291456,
"l3": 16777216
}
},
"os": {
"platform": "linux",
"distro": "Ubuntu",
"release": "20.04.3 LTS",
"codename": "Focal Fossa",
"kernel": "5.4.91-custom-wsl2+",
"arch": "x64",
"codepage": "UTF-8",
"logofile": "ubuntu",
"build": "",
"servicepack": "",
"uefi": false
},
"system": {
"manufacturer": "",
"model": "",
"version": "",
"sku": "-",
"virtual": false
},
"docker": {
"kernelVersion": "5.4.91-custom-wsl2+",
"operatingSystem": "Docker Desktop",
"osVersion": "",
"osType": "linux",
"architecture": "x86_64",
"ncpu": 24,
"memTotal": 26843095040,
"serverVersion": "20.10.11"
}
},
"results": [
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-rotate",
"passes": 13663,
"duration": 5.0001506805,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-blocks16k",
"passes": 21354,
"duration": 5.0001411438,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-blocks4k",
"passes": 19808,
"duration": 5.0000348091,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-hybrid-blocks16k",
"passes": 26189,
"duration": 5.000164032,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-hybrid-blocks4k",
"passes": 24084,
"duration": 5.0000801086,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-unrolled-hybrid",
"passes": 59210,
"duration": 5.0000729561,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-extreme-hybrid",
"passes": 60083,
"duration": 5.0000562668,
"threads": 1,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-rotate",
"passes": 170309,
"duration": 5.0011162758,
"threads": 24,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-blocks16k",
"passes": 232265,
"duration": 5.0011992455,
"threads": 24,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-blocks4k",
"passes": 238372,
"duration": 5.0009560585,
"threads": 24,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-hybrid-blocks16k",
"passes": 286498,
"duration": 5.0010433197,
"threads": 24,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-striped-hybrid-blocks4k",
"passes": 282331,
"duration": 5.0008692741,
"threads": 24,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-unrolled-hybrid",
"passes": 641191,
"duration": 5.0009689331,
"threads": 24,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
},
{
"implementation": "rust",
"solution": "1",
"label": "mike-barber_bit-extreme-hybrid",
"passes": 649262,
"duration": 5.0009508133,
"threads": 24,
"tags": {
"algorithm": "base",
"faithful": "yes",
"bits": "1"
}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment