This commit is contained in:
rawhide kobayashi 2025-02-08 22:23:40 -06:00
commit fde2efc1fb
Signed by: rawhide_k
GPG Key ID: E71F77DDBC513FD7
19 changed files with 547 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
4k_input.mkv
720p_input.mkv
1080p_input.mkv

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 734 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 KiB

95
main_14700f.py Normal file
View File

@ -0,0 +1,95 @@
import subprocess
import os
import time
import re
import csv
temp_cmd = ["sensors", "coretemp-isa-0000"]
power_cmd = ["turbostat", "--quiet", "--hide", "CorWatt,Die,Core,CPU,Busy%,Bzy_MHz,TSC_MHz,IPC,IRQ,SMI,POLL,C1,C2,C3,POLL%,C1%,C2%,C3%,C1ACPI,C2ACPI,C3ACPI,C1ACPI%,C2ACPI%,C3ACPI%,CPU%c1,CPU%c6,CPU%c7,CoreTmp,CoreThr,PkgTmp,Totl%C0,Any%C0,GFX%C0,CPUGFX%,Pkg%pc2,Pkg%pc3,Pkg%pc6,Pkg%pc8,Pk%pc10,CPU%LPI,SYS%LPI,GFXWatt,RAMWatt,PKG_%,RAM_%,UncMHz",
"-i", "0.001", "--num_iterations", "1", "--Summary"]
csv_fieldnames = ["AVX512", "Resolution", "Encoder", "Preset", "Run Time", "Temperature", "MHz", "Watts"]
cur_dir = os.getcwd()
def ffmpeg_cmd(resolution: str, encoder: str, preset: str, avx: str = "") -> None:
cmd = f"ssh -t knowledge@nazrin \"ffmpeg -i '{cur_dir}/{resolution}_input.mkv' -c:v {encoder} -preset {preset} {avx} /tmp/output.mkv -y\""
print(cmd)
num_tests = 5
run_time_accumulation = 0
temp_accumulation = 0
mhz_accumulation = 0
watt_accumulation = 0
stat_track_iterations = 0
for x in range(num_tests):
start_time = time.time()
with subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=True) as process:
while not process.stdout.readline().startswith("frame="):
continue
while process.poll() is None:
stdout_line = process.stdout.readline().split()
temperature = subprocess.run(temp_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
temp_reading = re.search(r"[0-9][0-9][.][0-9]",temperature.stdout)
temp_accumulation += float(temp_reading[0])
power = subprocess.run(power_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
power_reading = power.stdout.split()
mhz_accumulation += int(power_reading[2])
watt_accumulation += float(power_reading[3])
stat_track_iterations += 1
if len(stdout_line) > 6:
print(f"Temp: {temp_reading[0]} MHz: {power_reading[2]} Pwr: {power_reading[3]} FPS: {stdout_line[2]} Time: {stdout_line[6]}", end='\r')
run_time_accumulation += time.time() - start_time
os.remove("/tmp/output.mkv")
run_time_avg = run_time_accumulation / num_tests
temp_avg = temp_accumulation / stat_track_iterations
mhz_avg = mhz_accumulation / stat_track_iterations
watt_avg = watt_accumulation / stat_track_iterations
print(f"run time: {run_time_avg}")
print(f"temperature: {temp_avg}")
print(f"mhz: {mhz_avg}")
print(f"power: {watt_avg}")
avx512 = "Off"
if (encoder == "libx265" and avx != "") or (encoder == "libsvtav1" and avx == ""):
avx512 = "On"
results_dict = {
"AVX512": avx512,
"Resolution": resolution,
"Encoder": encoder,
"Preset": preset,
"Run Time": round(run_time_avg, 2),
"Temperature": round(temp_avg, 2),
"MHz": round(mhz_avg, 2),
"Watts": round(watt_avg, 2)
}
with open('results.csv', 'a', newline='') as results_file:
writer = csv.DictWriter(results_file, csv_fieldnames)
writer.writerow(results_dict)
def main() -> None:
with open('results.csv', 'w', newline='') as results_file:
writer = csv.DictWriter(results_file, csv_fieldnames)
writer.writeheader()
x265_presets = ["ultrafast", "superfast", "veryfast", "faster", "fast",
"medium", "slow", "slower", "veryslow", "placebo"]
av1_presets = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"]
resolutions = ["720p", "1080p", "4k"]
for preset in av1_presets:
for resolution in resolutions:
ffmpeg_cmd(resolution, "libsvtav1", preset, "-svtav1-params \"asm=9\"")
#ffmpeg_cmd(resolution, "libsvtav1", preset)
for preset in x265_presets:
for resolution in resolutions:
ffmpeg_cmd(resolution, "libx265", preset)
#ffmpeg_cmd(resolution, "libx265", preset, "-x265-params \"asm=avx512\"")
if __name__ == "__main__":
main()

95
main_9950x.py Normal file
View File

@ -0,0 +1,95 @@
import subprocess
import os
import time
import re
import csv
temp_cmd = ["sensors", "k10temp-pci-00c3"]
power_cmd = ["turbostat", "--quiet", "--hide", "CorWatt,Die,Core,CPU,Busy%,Bzy_MHz,TSC_MHz,IPC,IRQ,SMI,POLL,C1,C2,C3,POLL%,C1%,C2%,C3%",
"-i", "0.001", "--num_iterations", "1", "--Summary"]
csv_fieldnames = ["AVX512", "Resolution", "Encoder", "Preset", "Run Time", "Temperature", "MHz", "Watts"]
cur_dir = os.getcwd()
def ffmpeg_cmd(resolution: str, encoder: str, preset: str, avx: str = "") -> None:
cmd = f"ssh -t rawhide@hong \"ffmpeg -i '{cur_dir}/{resolution}_input.mkv' -c:v {encoder} -preset {preset} {avx} /tmp/output.mkv -y\""
print(cmd)
num_tests = 5
run_time_accumulation = 0
temp_accumulation = 0
mhz_accumulation = 0
watt_accumulation = 0
stat_track_iterations = 0
for x in range(num_tests):
start_time = time.time()
with subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=True) as process:
while not process.stdout.readline().startswith("frame="):
continue
while process.poll() is None:
stdout_line = process.stdout.readline().split()
temperature = subprocess.run(temp_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
temp_reading = re.search(r"[0-9][0-9][.][0-9]",temperature.stdout)
temp_accumulation += float(temp_reading[0])
power = subprocess.run(power_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
power_reading = power.stdout.split()
mhz_accumulation += int(power_reading[2])
watt_accumulation += float(power_reading[3])
stat_track_iterations += 1
if len(stdout_line) > 6:
print(f"Temp: {temp_reading[0]} MHz: {power_reading[2]} Pwr: {power_reading[3]} FPS: {stdout_line[2]} Time: {stdout_line[6]}", end='\r')
run_time_accumulation += time.time() - start_time
os.remove("/tmp/output.mkv")
run_time_avg = run_time_accumulation / num_tests
temp_avg = temp_accumulation / stat_track_iterations
mhz_avg = mhz_accumulation / stat_track_iterations
watt_avg = watt_accumulation / stat_track_iterations
print(f"run time: {run_time_avg}")
print(f"temperature: {temp_avg}")
print(f"mhz: {mhz_avg}")
print(f"power: {watt_avg}")
avx512 = "Off"
if (encoder == "libx265" and avx != "") or (encoder == "libsvtav1" and avx == ""):
avx512 = "On"
results_dict = {
"AVX512": avx512,
"Resolution": resolution,
"Encoder": encoder,
"Preset": preset,
"Run Time": round(run_time_avg, 2),
"Temperature": round(temp_avg, 2),
"MHz": round(mhz_avg, 2),
"Watts": round(watt_avg, 2)
}
with open('results.csv', 'a', newline='') as results_file:
writer = csv.DictWriter(results_file, csv_fieldnames)
writer.writerow(results_dict)
def main() -> None:
with open('results.csv', 'w', newline='') as results_file:
writer = csv.DictWriter(results_file, csv_fieldnames)
writer.writeheader()
x265_presets = ["ultrafast", "superfast", "veryfast", "faster", "fast",
"medium", "slow", "slower", "veryslow", "placebo"]
av1_presets = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"]
resolutions = ["720p", "1080p", "4k"]
for preset in av1_presets:
for resolution in resolutions:
ffmpeg_cmd(resolution, "libsvtav1", preset, "-svtav1-params \"asm=9\"")
ffmpeg_cmd(resolution, "libsvtav1", preset)
for preset in x265_presets:
for resolution in resolutions:
ffmpeg_cmd(resolution, "libx265", preset)
ffmpeg_cmd(resolution, "libx265", preset, "-x265-params \"asm=avx512\"")
if __name__ == "__main__":
main()

73
results_14700f.csv Normal file
View File

@ -0,0 +1,73 @@
AVX512,Resolution,Encoder,Preset,Run Time,Temperature,MHz,Watts
Off,720p,libsvtav1,0,343.7,61.75,2227.21,256.19
Off,1080p,libsvtav1,0,567.37,66.36,2715.24,288.67
Off,4k,libsvtav1,0,1409.27,71.65,4179.28,309.42
Off,720p,libsvtav1,1,201.9,62.47,2129.7,226.31
Off,1080p,libsvtav1,1,327.69,66.17,2715.67,261.04
Off,4k,libsvtav1,1,786.73,71.78,4148.3,309.07
Off,720p,libsvtav1,2,87.83,63.59,2377.57,235.52
Off,1080p,libsvtav1,2,143.28,67.46,3369.96,290.73
Off,4k,libsvtav1,2,381.33,71.38,4211.52,320.49
Off,720p,libsvtav1,3,54.75,62.62,2516.89,232.06
Off,1080p,libsvtav1,3,90.19,67.5,3538.79,288.85
Off,4k,libsvtav1,3,250.29,71.24,4294.42,307.92
Off,720p,libsvtav1,4,34.74,62.12,2312.37,207.93
Off,1080p,libsvtav1,4,56.86,67.31,3388.92,271.4
Off,4k,libsvtav1,4,156.96,72.15,4430.95,296.27
Off,720p,libsvtav1,5,17.07,63.34,2723.29,226.66
Off,1080p,libsvtav1,5,29.39,66.68,3240.02,230.22
Off,4k,libsvtav1,5,83.74,71.42,4428.26,293.48
Off,720p,libsvtav1,6,13.58,65.29,2528.27,204.3
Off,1080p,libsvtav1,6,24.33,65.72,3274.45,247.41
Off,4k,libsvtav1,6,68.12,70.2,4026.62,278.62
Off,720p,libsvtav1,7,12.57,61.19,2296.48,195.65
Off,1080p,libsvtav1,7,21.24,63.61,2812.68,224.05
Off,4k,libsvtav1,7,62.14,68.81,3891.03,288.73
Off,720p,libsvtav1,8,12.21,60.7,1821.53,171.91
Off,1080p,libsvtav1,8,20.2,62.16,2690.33,232.47
Off,4k,libsvtav1,8,59.4,67.87,3717.65,279.88
Off,720p,libsvtav1,9,11.78,60.17,1492.28,150.86
Off,1080p,libsvtav1,9,18.87,62.57,2339.2,202.95
Off,4k,libsvtav1,9,55.42,66.67,3182.67,252.68
Off,720p,libsvtav1,10,11.5,57.32,1442.19,147.86
Off,1080p,libsvtav1,10,18.55,61.77,2129.12,211.74
Off,4k,libsvtav1,10,53.63,66.19,3155.85,267.35
Off,720p,libsvtav1,11,11.32,57.83,1405.17,147.61
Off,1080p,libsvtav1,11,18.36,61.12,1866.05,184.39
Off,4k,libsvtav1,11,53.46,65.51,3093.69,270.8
Off,720p,libsvtav1,12,11.32,58.57,1348.86,138.21
Off,1080p,libsvtav1,12,18.28,61.66,1916.34,196.64
Off,4k,libsvtav1,12,53.55,66.05,3247.02,274.34
Off,720p,libsvtav1,13,11.3,57.45,1472.76,154.92
Off,1080p,libsvtav1,13,18.32,60.47,1895.21,187.31
Off,4k,libsvtav1,13,53.59,65.89,3111.66,273.22
Off,720p,libx265,ultrafast,11.89,61.53,1967.75,171.91
Off,1080p,libx265,ultrafast,20.02,63.84,3006.94,225.66
Off,4k,libx265,ultrafast,58.64,68.11,3890.54,271.83
Off,720p,libx265,superfast,12.74,64.38,2177.7,182.81
Off,1080p,libx265,superfast,21.01,65.47,2755.19,221.99
Off,4k,libx265,superfast,61.87,69.66,3977.41,266.96
Off,720p,libx265,veryfast,16.77,61.04,1923.7,186.11
Off,1080p,libx265,veryfast,28.32,63.11,2574.8,210.21
Off,4k,libx265,veryfast,86.34,68.16,3516.25,261.43
Off,720p,libx265,faster,16.63,60.93,2020.65,183.2
Off,1080p,libx265,faster,28.04,63.75,2454.59,201.61
Off,4k,libx265,faster,86.33,67.94,3527.18,276.57
Off,720p,libx265,fast,18.11,61.5,2135.8,204.02
Off,1080p,libx265,fast,29.97,64.55,2813.09,226.16
Off,4k,libx265,fast,93.25,69.51,3912.64,282.34
Off,720p,libx265,medium,22.17,60.08,1810.56,204.54
Off,1080p,libx265,medium,37.41,63.51,2558.51,214.22
Off,4k,libx265,medium,110.35,70.01,3824.73,269.74
Off,720p,libx265,slow,49.96,62.01,1876.6,202.25
Off,1080p,libx265,slow,84.24,66.09,2782.9,251.7
Off,4k,libx265,slow,252.78,72.66,4318.67,294.63
Off,720p,libx265,slower,169.63,63.76,1840.9,224.48
Off,1080p,libx265,slower,273.07,68.32,2629.67,261.51
Off,4k,libx265,slower,789.55,73.0,4249.35,299.65
Off,720p,libx265,veryslow,285.19,64.02,1788.16,236.33
Off,1080p,libx265,veryslow,459.54,69.29,2571.88,291.14
Off,4k,libx265,veryslow,1343.9,73.32,4097.43,305.24
Off,720p,libx265,placebo,625.38,67.22,2129.95,280.35
Off,1080p,libx265,placebo,1080.23,71.75,2965.88,319.13
Off,4k,libx265,placebo,3521.05,73.71,4326.43,310.37
1 AVX512 Resolution Encoder Preset Run Time Temperature MHz Watts
2 Off 720p libsvtav1 0 343.7 61.75 2227.21 256.19
3 Off 1080p libsvtav1 0 567.37 66.36 2715.24 288.67
4 Off 4k libsvtav1 0 1409.27 71.65 4179.28 309.42
5 Off 720p libsvtav1 1 201.9 62.47 2129.7 226.31
6 Off 1080p libsvtav1 1 327.69 66.17 2715.67 261.04
7 Off 4k libsvtav1 1 786.73 71.78 4148.3 309.07
8 Off 720p libsvtav1 2 87.83 63.59 2377.57 235.52
9 Off 1080p libsvtav1 2 143.28 67.46 3369.96 290.73
10 Off 4k libsvtav1 2 381.33 71.38 4211.52 320.49
11 Off 720p libsvtav1 3 54.75 62.62 2516.89 232.06
12 Off 1080p libsvtav1 3 90.19 67.5 3538.79 288.85
13 Off 4k libsvtav1 3 250.29 71.24 4294.42 307.92
14 Off 720p libsvtav1 4 34.74 62.12 2312.37 207.93
15 Off 1080p libsvtav1 4 56.86 67.31 3388.92 271.4
16 Off 4k libsvtav1 4 156.96 72.15 4430.95 296.27
17 Off 720p libsvtav1 5 17.07 63.34 2723.29 226.66
18 Off 1080p libsvtav1 5 29.39 66.68 3240.02 230.22
19 Off 4k libsvtav1 5 83.74 71.42 4428.26 293.48
20 Off 720p libsvtav1 6 13.58 65.29 2528.27 204.3
21 Off 1080p libsvtav1 6 24.33 65.72 3274.45 247.41
22 Off 4k libsvtav1 6 68.12 70.2 4026.62 278.62
23 Off 720p libsvtav1 7 12.57 61.19 2296.48 195.65
24 Off 1080p libsvtav1 7 21.24 63.61 2812.68 224.05
25 Off 4k libsvtav1 7 62.14 68.81 3891.03 288.73
26 Off 720p libsvtav1 8 12.21 60.7 1821.53 171.91
27 Off 1080p libsvtav1 8 20.2 62.16 2690.33 232.47
28 Off 4k libsvtav1 8 59.4 67.87 3717.65 279.88
29 Off 720p libsvtav1 9 11.78 60.17 1492.28 150.86
30 Off 1080p libsvtav1 9 18.87 62.57 2339.2 202.95
31 Off 4k libsvtav1 9 55.42 66.67 3182.67 252.68
32 Off 720p libsvtav1 10 11.5 57.32 1442.19 147.86
33 Off 1080p libsvtav1 10 18.55 61.77 2129.12 211.74
34 Off 4k libsvtav1 10 53.63 66.19 3155.85 267.35
35 Off 720p libsvtav1 11 11.32 57.83 1405.17 147.61
36 Off 1080p libsvtav1 11 18.36 61.12 1866.05 184.39
37 Off 4k libsvtav1 11 53.46 65.51 3093.69 270.8
38 Off 720p libsvtav1 12 11.32 58.57 1348.86 138.21
39 Off 1080p libsvtav1 12 18.28 61.66 1916.34 196.64
40 Off 4k libsvtav1 12 53.55 66.05 3247.02 274.34
41 Off 720p libsvtav1 13 11.3 57.45 1472.76 154.92
42 Off 1080p libsvtav1 13 18.32 60.47 1895.21 187.31
43 Off 4k libsvtav1 13 53.59 65.89 3111.66 273.22
44 Off 720p libx265 ultrafast 11.89 61.53 1967.75 171.91
45 Off 1080p libx265 ultrafast 20.02 63.84 3006.94 225.66
46 Off 4k libx265 ultrafast 58.64 68.11 3890.54 271.83
47 Off 720p libx265 superfast 12.74 64.38 2177.7 182.81
48 Off 1080p libx265 superfast 21.01 65.47 2755.19 221.99
49 Off 4k libx265 superfast 61.87 69.66 3977.41 266.96
50 Off 720p libx265 veryfast 16.77 61.04 1923.7 186.11
51 Off 1080p libx265 veryfast 28.32 63.11 2574.8 210.21
52 Off 4k libx265 veryfast 86.34 68.16 3516.25 261.43
53 Off 720p libx265 faster 16.63 60.93 2020.65 183.2
54 Off 1080p libx265 faster 28.04 63.75 2454.59 201.61
55 Off 4k libx265 faster 86.33 67.94 3527.18 276.57
56 Off 720p libx265 fast 18.11 61.5 2135.8 204.02
57 Off 1080p libx265 fast 29.97 64.55 2813.09 226.16
58 Off 4k libx265 fast 93.25 69.51 3912.64 282.34
59 Off 720p libx265 medium 22.17 60.08 1810.56 204.54
60 Off 1080p libx265 medium 37.41 63.51 2558.51 214.22
61 Off 4k libx265 medium 110.35 70.01 3824.73 269.74
62 Off 720p libx265 slow 49.96 62.01 1876.6 202.25
63 Off 1080p libx265 slow 84.24 66.09 2782.9 251.7
64 Off 4k libx265 slow 252.78 72.66 4318.67 294.63
65 Off 720p libx265 slower 169.63 63.76 1840.9 224.48
66 Off 1080p libx265 slower 273.07 68.32 2629.67 261.51
67 Off 4k libx265 slower 789.55 73.0 4249.35 299.65
68 Off 720p libx265 veryslow 285.19 64.02 1788.16 236.33
69 Off 1080p libx265 veryslow 459.54 69.29 2571.88 291.14
70 Off 4k libx265 veryslow 1343.9 73.32 4097.43 305.24
71 Off 720p libx265 placebo 625.38 67.22 2129.95 280.35
72 Off 1080p libx265 placebo 1080.23 71.75 2965.88 319.13
73 Off 4k libx265 placebo 3521.05 73.71 4326.43 310.37

145
results_9950x.csv Normal file
View File

@ -0,0 +1,145 @@
AVX512,Resolution,Encoder,Preset,Run Time,Temperature,MHz,Watts
Off,720p,libsvtav1,0,275.61,83.07,2992.55,140.19
On,720p,libsvtav1,0,267.79,82.74,2748.7,139.78
Off,1080p,libsvtav1,0,428.36,88.43,3717.9,157.85
On,1080p,libsvtav1,0,412.13,86.64,3703.81,155.81
Off,4k,libsvtav1,0,870.27,90.27,7517.42,193.19
On,4k,libsvtav1,0,793.46,90.97,7478.53,190.74
Off,720p,libsvtav1,1,160.75,81.51,2913.29,139.5
On,720p,libsvtav1,1,156.01,80.44,2964.06,138.62
Off,1080p,libsvtav1,1,244.61,86.56,3863.49,155.54
On,1080p,libsvtav1,1,235.13,86.04,3881.38,156.66
Off,4k,libsvtav1,1,490.85,91.91,7376.41,192.01
On,4k,libsvtav1,1,452.06,91.95,7424.08,190.28
Off,720p,libsvtav1,2,66.38,85.36,2922.03,154.71
On,720p,libsvtav1,2,64.34,84.83,2579.17,153.98
Off,1080p,libsvtav1,2,96.73,90.4,4819.95,179.21
On,1080p,libsvtav1,2,92.8,90.13,4964.76,179.57
Off,4k,libsvtav1,2,237.74,91.56,8283.34,190.96
On,4k,libsvtav1,2,223.85,88.55,8356.7,190.06
Off,720p,libsvtav1,3,39.57,81.95,2450.49,162.09
On,720p,libsvtav1,3,38.43,80.94,2412.56,159.25
Off,1080p,libsvtav1,3,59.33,85.18,4837.1,183.45
On,1080p,libsvtav1,3,57.05,84.92,4592.85,179.34
Off,4k,libsvtav1,3,158.86,85.94,7752.59,191.16
On,4k,libsvtav1,3,151.74,85.08,7820.16,188.68
Off,720p,libsvtav1,4,25.72,80.85,2434.07,163.78
On,720p,libsvtav1,4,24.88,80.1,2264.14,158.33
Off,1080p,libsvtav1,4,38.21,84.31,4269.57,184.21
On,1080p,libsvtav1,4,36.62,84.62,4219.17,178.88
Off,4k,libsvtav1,4,98.46,85.03,7132.51,193.29
On,4k,libsvtav1,4,93.1,84.6,7401.68,190.61
Off,720p,libsvtav1,5,12.36,82.6,2441.37,159.99
On,720p,libsvtav1,5,12.06,82.16,2398.89,157.37
Off,1080p,libsvtav1,5,20.87,83.21,3782.77,178.66
On,1080p,libsvtav1,5,20.43,83.16,3482.82,174.44
Off,4k,libsvtav1,5,59.53,83.95,6346.44,186.79
On,4k,libsvtav1,5,58.06,84.07,5591.28,188.55
Off,720p,libsvtav1,6,10.88,82.7,2272.32,160.79
On,720p,libsvtav1,6,10.84,81.77,2306.3,163.33
Off,1080p,libsvtav1,6,18.39,83.04,2969.88,170.39
On,1080p,libsvtav1,6,18.12,82.76,2795.84,171.66
Off,4k,libsvtav1,6,50.29,85.19,4851.32,187.41
On,4k,libsvtav1,6,49.78,85.43,4588.62,187.31
Off,720p,libsvtav1,7,10.46,80.08,1826.58,152.65
On,720p,libsvtav1,7,10.39,78.79,1719.44,142.46
Off,1080p,libsvtav1,7,16.89,81.28,2381.02,162.26
On,1080p,libsvtav1,7,16.86,81.12,2572.25,168.66
Off,4k,libsvtav1,7,47.35,85.04,4082.87,186.18
On,4k,libsvtav1,7,46.94,85.39,4127.72,184.79
Off,720p,libsvtav1,8,10.2,78.13,1464.74,136.59
On,720p,libsvtav1,8,10.09,76.95,1396.99,130.78
Off,1080p,libsvtav1,8,16.41,80.2,2572.06,171.95
On,1080p,libsvtav1,8,16.35,80.08,2330.01,152.94
Off,4k,libsvtav1,8,46.07,85.12,3955.64,183.03
On,4k,libsvtav1,8,45.8,85.31,4051.21,182.78
Off,720p,libsvtav1,9,9.86,76.93,1655.12,137.33
On,720p,libsvtav1,9,9.93,75.37,1515.5,124.55
Off,1080p,libsvtav1,9,15.94,79.48,2275.4,149.3
On,1080p,libsvtav1,9,15.88,79.6,2197.02,147.94
Off,4k,libsvtav1,9,44.29,85.19,3861.9,183.37
On,4k,libsvtav1,9,44.29,85.38,3956.06,182.92
Off,720p,libsvtav1,10,9.73,75.6,1190.12,129.19
On,720p,libsvtav1,10,9.74,74.27,1170.96,133.3
Off,1080p,libsvtav1,10,15.76,78.72,2082.83,150.15
On,1080p,libsvtav1,10,15.72,78.8,2215.12,149.56
Off,4k,libsvtav1,10,43.36,85.17,3964.17,179.0
On,4k,libsvtav1,10,43.44,85.67,3672.67,182.2
Off,720p,libsvtav1,11,9.83,74.77,1372.62,124.04
On,720p,libsvtav1,11,9.68,73.31,1154.32,119.77
Off,1080p,libsvtav1,11,15.77,78.07,1996.09,150.96
On,1080p,libsvtav1,11,15.66,78.35,2121.83,149.23
Off,4k,libsvtav1,11,43.4,85.08,3617.71,179.97
On,4k,libsvtav1,11,43.41,85.25,3979.42,181.18
Off,720p,libsvtav1,12,9.69,74.31,1253.0,118.16
On,720p,libsvtav1,12,9.77,73.05,1219.81,112.12
Off,1080p,libsvtav1,12,15.67,78.02,2019.82,153.4
On,1080p,libsvtav1,12,15.76,78.13,2074.67,147.58
Off,4k,libsvtav1,12,43.36,85.12,3679.35,178.09
On,4k,libsvtav1,12,43.42,85.17,4161.7,178.86
Off,720p,libsvtav1,13,9.77,74.4,1088.44,125.7
On,720p,libsvtav1,13,9.68,72.95,1298.77,126.4
Off,1080p,libsvtav1,13,15.77,77.77,2091.71,146.93
On,1080p,libsvtav1,13,15.66,77.93,1999.61,149.96
Off,4k,libsvtav1,13,43.37,84.77,3711.26,181.84
On,4k,libsvtav1,13,43.41,85.02,3817.5,180.59
Off,720p,libx265,ultrafast,9.97,76.84,1609.77,135.47
On,720p,libx265,ultrafast,9.92,75.51,1645.67,135.77
Off,1080p,libx265,ultrafast,16.38,79.48,2549.3,164.32
On,1080p,libx265,ultrafast,16.32,79.37,2674.66,171.9
Off,4k,libx265,ultrafast,45.72,84.32,4207.16,186.78
On,4k,libx265,ultrafast,45.34,84.63,4359.75,183.3
Off,720p,libx265,superfast,10.24,78.29,2042.02,152.6
On,720p,libx265,superfast,10.21,77.33,1906.78,142.69
Off,1080p,libx265,superfast,16.74,80.16,2598.24,170.97
On,1080p,libx265,superfast,16.75,79.96,2604.44,167.56
Off,4k,libx265,superfast,47.04,84.17,4398.25,183.39
On,4k,libx265,superfast,46.6,84.64,4595.14,187.09
Off,720p,libx265,veryfast,10.81,80.78,1895.74,159.84
On,720p,libx265,veryfast,10.67,79.59,1893.39,160.32
Off,1080p,libx265,veryfast,18.35,81.83,2456.24,168.44
On,1080p,libx265,veryfast,18.19,81.68,2779.27,169.58
Off,4k,libx265,veryfast,51.9,83.63,5421.21,186.81
On,4k,libx265,veryfast,51.08,84.21,5543.17,190.49
Off,720p,libx265,faster,10.77,80.88,1958.09,163.1
On,720p,libx265,faster,10.7,79.85,2088.4,161.0
Off,1080p,libx265,faster,18.25,82.12,2718.77,173.7
On,1080p,libx265,faster,18.22,81.73,2742.09,169.38
Off,4k,libx265,faster,51.96,83.79,5753.61,191.94
On,4k,libx265,faster,51.03,84.57,5386.17,192.34
Off,720p,libx265,fast,11.28,83.15,2112.5,162.11
On,720p,libx265,fast,11.05,81.72,1861.71,160.5
Off,1080p,libx265,fast,19.0,83.79,3063.13,178.62
On,1080p,libx265,fast,18.7,82.63,2914.55,176.94
Off,4k,libx265,fast,55.38,84.41,5748.98,191.73
On,4k,libx265,fast,53.22,83.99,5216.62,190.75
Off,720p,libx265,medium,13.58,81.3,1839.12,159.6
On,720p,libx265,medium,13.34,80.27,1848.54,160.91
Off,1080p,libx265,medium,22.64,83.95,2929.93,177.17
On,1080p,libx265,medium,22.2,83.72,2577.23,177.73
Off,4k,libx265,medium,68.88,83.77,5365.36,191.88
On,4k,libx265,medium,66.67,83.85,5115.63,193.02
Off,720p,libx265,slow,32.11,83.11,1932.51,164.84
On,720p,libx265,slow,28.7,80.13,1862.04,156.42
Off,1080p,libx265,slow,50.01,88.35,2903.52,187.93
On,1080p,libx265,slow,44.34,86.68,2644.33,188.76
Off,4k,libx265,slow,145.77,84.82,5992.44,196.66
On,4k,libx265,slow,125.07,84.87,5594.92,196.49
Off,720p,libx265,slower,120.55,82.56,1994.78,154.4
On,720p,libx265,slower,105.11,80.2,1899.32,150.12
Off,1080p,libx265,slower,174.49,90.93,3472.46,184.46
On,1080p,libx265,slower,150.92,89.68,2985.41,182.97
Off,4k,libx265,slower,449.6,88.05,7063.46,194.94
On,4k,libx265,slower,379.24,88.11,6601.06,193.28
Off,720p,libx265,veryslow,207.69,86.81,1924.62,150.05
On,720p,libx265,veryslow,177.97,84.71,1833.55,147.35
Off,1080p,libx265,veryslow,301.52,93.91,3191.26,180.84
On,1080p,libx265,veryslow,255.94,90.6,2977.94,178.22
Off,4k,libx265,veryslow,744.77,89.47,6934.46,196.92
On,4k,libx265,veryslow,613.56,89.8,6627.35,194.04
Off,720p,libx265,placebo,441.26,91.55,3143.15,162.28
On,720p,libx265,placebo,381.82,87.38,3112.01,162.19
Off,1080p,libx265,placebo,678.01,92.45,5343.51,190.82
On,1080p,libx265,placebo,585.99,90.71,5287.56,188.81
Off,4k,libx265,placebo,1936.54,85.25,6634.46,196.73
On,4k,libx265,placebo,1657.44,87.4,6499.13,193.79
1 AVX512 Resolution Encoder Preset Run Time Temperature MHz Watts
2 Off 720p libsvtav1 0 275.61 83.07 2992.55 140.19
3 On 720p libsvtav1 0 267.79 82.74 2748.7 139.78
4 Off 1080p libsvtav1 0 428.36 88.43 3717.9 157.85
5 On 1080p libsvtav1 0 412.13 86.64 3703.81 155.81
6 Off 4k libsvtav1 0 870.27 90.27 7517.42 193.19
7 On 4k libsvtav1 0 793.46 90.97 7478.53 190.74
8 Off 720p libsvtav1 1 160.75 81.51 2913.29 139.5
9 On 720p libsvtav1 1 156.01 80.44 2964.06 138.62
10 Off 1080p libsvtav1 1 244.61 86.56 3863.49 155.54
11 On 1080p libsvtav1 1 235.13 86.04 3881.38 156.66
12 Off 4k libsvtav1 1 490.85 91.91 7376.41 192.01
13 On 4k libsvtav1 1 452.06 91.95 7424.08 190.28
14 Off 720p libsvtav1 2 66.38 85.36 2922.03 154.71
15 On 720p libsvtav1 2 64.34 84.83 2579.17 153.98
16 Off 1080p libsvtav1 2 96.73 90.4 4819.95 179.21
17 On 1080p libsvtav1 2 92.8 90.13 4964.76 179.57
18 Off 4k libsvtav1 2 237.74 91.56 8283.34 190.96
19 On 4k libsvtav1 2 223.85 88.55 8356.7 190.06
20 Off 720p libsvtav1 3 39.57 81.95 2450.49 162.09
21 On 720p libsvtav1 3 38.43 80.94 2412.56 159.25
22 Off 1080p libsvtav1 3 59.33 85.18 4837.1 183.45
23 On 1080p libsvtav1 3 57.05 84.92 4592.85 179.34
24 Off 4k libsvtav1 3 158.86 85.94 7752.59 191.16
25 On 4k libsvtav1 3 151.74 85.08 7820.16 188.68
26 Off 720p libsvtav1 4 25.72 80.85 2434.07 163.78
27 On 720p libsvtav1 4 24.88 80.1 2264.14 158.33
28 Off 1080p libsvtav1 4 38.21 84.31 4269.57 184.21
29 On 1080p libsvtav1 4 36.62 84.62 4219.17 178.88
30 Off 4k libsvtav1 4 98.46 85.03 7132.51 193.29
31 On 4k libsvtav1 4 93.1 84.6 7401.68 190.61
32 Off 720p libsvtav1 5 12.36 82.6 2441.37 159.99
33 On 720p libsvtav1 5 12.06 82.16 2398.89 157.37
34 Off 1080p libsvtav1 5 20.87 83.21 3782.77 178.66
35 On 1080p libsvtav1 5 20.43 83.16 3482.82 174.44
36 Off 4k libsvtav1 5 59.53 83.95 6346.44 186.79
37 On 4k libsvtav1 5 58.06 84.07 5591.28 188.55
38 Off 720p libsvtav1 6 10.88 82.7 2272.32 160.79
39 On 720p libsvtav1 6 10.84 81.77 2306.3 163.33
40 Off 1080p libsvtav1 6 18.39 83.04 2969.88 170.39
41 On 1080p libsvtav1 6 18.12 82.76 2795.84 171.66
42 Off 4k libsvtav1 6 50.29 85.19 4851.32 187.41
43 On 4k libsvtav1 6 49.78 85.43 4588.62 187.31
44 Off 720p libsvtav1 7 10.46 80.08 1826.58 152.65
45 On 720p libsvtav1 7 10.39 78.79 1719.44 142.46
46 Off 1080p libsvtav1 7 16.89 81.28 2381.02 162.26
47 On 1080p libsvtav1 7 16.86 81.12 2572.25 168.66
48 Off 4k libsvtav1 7 47.35 85.04 4082.87 186.18
49 On 4k libsvtav1 7 46.94 85.39 4127.72 184.79
50 Off 720p libsvtav1 8 10.2 78.13 1464.74 136.59
51 On 720p libsvtav1 8 10.09 76.95 1396.99 130.78
52 Off 1080p libsvtav1 8 16.41 80.2 2572.06 171.95
53 On 1080p libsvtav1 8 16.35 80.08 2330.01 152.94
54 Off 4k libsvtav1 8 46.07 85.12 3955.64 183.03
55 On 4k libsvtav1 8 45.8 85.31 4051.21 182.78
56 Off 720p libsvtav1 9 9.86 76.93 1655.12 137.33
57 On 720p libsvtav1 9 9.93 75.37 1515.5 124.55
58 Off 1080p libsvtav1 9 15.94 79.48 2275.4 149.3
59 On 1080p libsvtav1 9 15.88 79.6 2197.02 147.94
60 Off 4k libsvtav1 9 44.29 85.19 3861.9 183.37
61 On 4k libsvtav1 9 44.29 85.38 3956.06 182.92
62 Off 720p libsvtav1 10 9.73 75.6 1190.12 129.19
63 On 720p libsvtav1 10 9.74 74.27 1170.96 133.3
64 Off 1080p libsvtav1 10 15.76 78.72 2082.83 150.15
65 On 1080p libsvtav1 10 15.72 78.8 2215.12 149.56
66 Off 4k libsvtav1 10 43.36 85.17 3964.17 179.0
67 On 4k libsvtav1 10 43.44 85.67 3672.67 182.2
68 Off 720p libsvtav1 11 9.83 74.77 1372.62 124.04
69 On 720p libsvtav1 11 9.68 73.31 1154.32 119.77
70 Off 1080p libsvtav1 11 15.77 78.07 1996.09 150.96
71 On 1080p libsvtav1 11 15.66 78.35 2121.83 149.23
72 Off 4k libsvtav1 11 43.4 85.08 3617.71 179.97
73 On 4k libsvtav1 11 43.41 85.25 3979.42 181.18
74 Off 720p libsvtav1 12 9.69 74.31 1253.0 118.16
75 On 720p libsvtav1 12 9.77 73.05 1219.81 112.12
76 Off 1080p libsvtav1 12 15.67 78.02 2019.82 153.4
77 On 1080p libsvtav1 12 15.76 78.13 2074.67 147.58
78 Off 4k libsvtav1 12 43.36 85.12 3679.35 178.09
79 On 4k libsvtav1 12 43.42 85.17 4161.7 178.86
80 Off 720p libsvtav1 13 9.77 74.4 1088.44 125.7
81 On 720p libsvtav1 13 9.68 72.95 1298.77 126.4
82 Off 1080p libsvtav1 13 15.77 77.77 2091.71 146.93
83 On 1080p libsvtav1 13 15.66 77.93 1999.61 149.96
84 Off 4k libsvtav1 13 43.37 84.77 3711.26 181.84
85 On 4k libsvtav1 13 43.41 85.02 3817.5 180.59
86 Off 720p libx265 ultrafast 9.97 76.84 1609.77 135.47
87 On 720p libx265 ultrafast 9.92 75.51 1645.67 135.77
88 Off 1080p libx265 ultrafast 16.38 79.48 2549.3 164.32
89 On 1080p libx265 ultrafast 16.32 79.37 2674.66 171.9
90 Off 4k libx265 ultrafast 45.72 84.32 4207.16 186.78
91 On 4k libx265 ultrafast 45.34 84.63 4359.75 183.3
92 Off 720p libx265 superfast 10.24 78.29 2042.02 152.6
93 On 720p libx265 superfast 10.21 77.33 1906.78 142.69
94 Off 1080p libx265 superfast 16.74 80.16 2598.24 170.97
95 On 1080p libx265 superfast 16.75 79.96 2604.44 167.56
96 Off 4k libx265 superfast 47.04 84.17 4398.25 183.39
97 On 4k libx265 superfast 46.6 84.64 4595.14 187.09
98 Off 720p libx265 veryfast 10.81 80.78 1895.74 159.84
99 On 720p libx265 veryfast 10.67 79.59 1893.39 160.32
100 Off 1080p libx265 veryfast 18.35 81.83 2456.24 168.44
101 On 1080p libx265 veryfast 18.19 81.68 2779.27 169.58
102 Off 4k libx265 veryfast 51.9 83.63 5421.21 186.81
103 On 4k libx265 veryfast 51.08 84.21 5543.17 190.49
104 Off 720p libx265 faster 10.77 80.88 1958.09 163.1
105 On 720p libx265 faster 10.7 79.85 2088.4 161.0
106 Off 1080p libx265 faster 18.25 82.12 2718.77 173.7
107 On 1080p libx265 faster 18.22 81.73 2742.09 169.38
108 Off 4k libx265 faster 51.96 83.79 5753.61 191.94
109 On 4k libx265 faster 51.03 84.57 5386.17 192.34
110 Off 720p libx265 fast 11.28 83.15 2112.5 162.11
111 On 720p libx265 fast 11.05 81.72 1861.71 160.5
112 Off 1080p libx265 fast 19.0 83.79 3063.13 178.62
113 On 1080p libx265 fast 18.7 82.63 2914.55 176.94
114 Off 4k libx265 fast 55.38 84.41 5748.98 191.73
115 On 4k libx265 fast 53.22 83.99 5216.62 190.75
116 Off 720p libx265 medium 13.58 81.3 1839.12 159.6
117 On 720p libx265 medium 13.34 80.27 1848.54 160.91
118 Off 1080p libx265 medium 22.64 83.95 2929.93 177.17
119 On 1080p libx265 medium 22.2 83.72 2577.23 177.73
120 Off 4k libx265 medium 68.88 83.77 5365.36 191.88
121 On 4k libx265 medium 66.67 83.85 5115.63 193.02
122 Off 720p libx265 slow 32.11 83.11 1932.51 164.84
123 On 720p libx265 slow 28.7 80.13 1862.04 156.42
124 Off 1080p libx265 slow 50.01 88.35 2903.52 187.93
125 On 1080p libx265 slow 44.34 86.68 2644.33 188.76
126 Off 4k libx265 slow 145.77 84.82 5992.44 196.66
127 On 4k libx265 slow 125.07 84.87 5594.92 196.49
128 Off 720p libx265 slower 120.55 82.56 1994.78 154.4
129 On 720p libx265 slower 105.11 80.2 1899.32 150.12
130 Off 1080p libx265 slower 174.49 90.93 3472.46 184.46
131 On 1080p libx265 slower 150.92 89.68 2985.41 182.97
132 Off 4k libx265 slower 449.6 88.05 7063.46 194.94
133 On 4k libx265 slower 379.24 88.11 6601.06 193.28
134 Off 720p libx265 veryslow 207.69 86.81 1924.62 150.05
135 On 720p libx265 veryslow 177.97 84.71 1833.55 147.35
136 Off 1080p libx265 veryslow 301.52 93.91 3191.26 180.84
137 On 1080p libx265 veryslow 255.94 90.6 2977.94 178.22
138 Off 4k libx265 veryslow 744.77 89.47 6934.46 196.92
139 On 4k libx265 veryslow 613.56 89.8 6627.35 194.04
140 Off 720p libx265 placebo 441.26 91.55 3143.15 162.28
141 On 720p libx265 placebo 381.82 87.38 3112.01 162.19
142 Off 1080p libx265 placebo 678.01 92.45 5343.51 190.82
143 On 1080p libx265 placebo 585.99 90.71 5287.56 188.81
144 Off 4k libx265 placebo 1936.54 85.25 6634.46 196.73
145 On 4k libx265 placebo 1657.44 87.4 6499.13 193.79

136
resultulator.py Normal file
View File

@ -0,0 +1,136 @@
import csv
import math
import matplotlib.pyplot as plot
import numpy as np
def geomean(data):
split_data = []
for x in data:
split_data.append(data[x])
return round(math.prod(split_data) ** (1 / len(split_data)), 2)
def make_comparison_list(list_a, list_b, encoder):
results_720p = {}
results_1080p = {}
results_4k = {}
for x in range(len(list_a)):
if list_a[x]["Encoder"] == encoder:
difference = round(float(list_a[x]["Run Time"]) / float(list_b[x]["Run Time"]), 2)
if list_a[x]["Resolution"] == "720p":
results_720p.update({f"Preset {list_a[x]["Preset"]}": float(difference)})
elif list_a[x]["Resolution"] == "1080p":
results_1080p.update({f"Preset {list_a[x]["Preset"]}": float(difference)})
elif list_a[x]["Resolution"] == "4k":
results_4k.update({f"Preset {list_a[x]["Preset"]}": float(difference)})
if encoder == "libx265":
results_720p = dict(reversed(results_720p.items()))
results_1080p = dict(reversed(results_1080p.items()))
results_4k = dict(reversed(results_4k.items()))
return results_720p, results_1080p, results_4k
def make_graph(results_list, title):
fig, return_plot = plot.subplots(facecolor="#5b306f")
return_plot.set_facecolor("#be95d1")
return_plot.spines['top'].set_color("#ffaed2")
return_plot.spines['bottom'].set_color("#ffaed2")
return_plot.spines['left'].set_color("#ffaed2")
return_plot.spines['right'].set_color("#ffaed2")
return_plot.tick_params(axis='x', colors="#ffaed2")
return_plot.tick_params(axis='y', colors="#ffaed2")
bars = return_plot.barh(np.arange(len(results_list)), results_list.values(), color="#ffaed2")
return_plot.set_yticks(np.arange(len(results_list)), results_list.keys(), color="#ffaed2")
return_plot.set_title(title, color="#ffaed2")
for bar, value in zip(bars, results_list.values()):
return_plot.text(0.99, bar.get_y() + bar.get_height()/2, f'{value}x', va='center', ha='right', color="#2c1a4a", fontsize=10, fontweight='bold')
return_plot.set_xlabel("Execution time improvement\n 1.0 value based on the first CPU", color="#ffaed2")
return_plot.axvline(x=1, color="#2c1a4a", linewidth=1)
plot.savefig(f"{title}.png", bbox_inches='tight', dpi=600)
return return_plot
csv_fieldnames = ["AVX512", "Resolution", "Encoder", "Preset", "Run Time", "Temperature", "MHz", "Watts"]
results_9950x_avx = []
results_9950x_noavx = []
results_14700f = []
with open('results_9950x.csv', 'r', newline='') as results_file:
reader = csv.DictReader(results_file, csv_fieldnames)
for row in reader:
if row["AVX512"] == "On":
results_9950x_avx.append(row)
elif row["AVX512"] == "Off":
results_9950x_noavx.append(row)
with open('results_14700f.csv', 'r', newline='') as results_file:
reader = csv.DictReader(results_file, csv_fieldnames)
for row in reader:
results_14700f.append(row)
results_14700f.pop(0)
print("Ryzen 9 9950x AVX-512 performance gain. \"Zero\" point of 1.0 based on the speed of the non-AVX-512 performance.")
print("\nHEVC encoded by the x265 encoder.\n")
list_9950x_x265_vs_avx512_720p, list_9950x_x265_vs_avx512_1080p, list_9950x_x265_vs_avx512_4k = make_comparison_list(results_9950x_noavx, results_9950x_avx, "libx265")
plot_9950x_x265_noavx_vs_9950x_avx_720p = make_graph(list_9950x_x265_vs_avx512_720p, "9950x AVX-512 Off vs 9950x AVX-512 On, 720p, x265")
plot_9950x_x265_noavx_vs_9950x_avx_1080p = make_graph(list_9950x_x265_vs_avx512_1080p, "9950x AVX-512 Off vs 9950x AVX-512 On, 1080p, x265")
plot_9950x_x265_noavx_vs_9950x_avx_4k = make_graph(list_9950x_x265_vs_avx512_4k, "9950x AVX-512 Off vs 9950x AVX-512 On, 4k, x265")
print("\nAV1 encoded by the SVT-AV1 encoder. Note: In SVT-AV1, preset 0 is the heaviest, and preset 13 is the lightest.\n")
list_9950x_av1_vs_avx512_720p, list_9950x_av1_vs_avx512_1080p, list_9950x_av1_vs_avx512_4k = make_comparison_list(results_9950x_noavx, results_9950x_avx, "libsvtav1")
plot_9950x_av1_noavx_vs_9950x_avx_720p = make_graph(list_9950x_av1_vs_avx512_720p, "9950x AVX-512 Off vs 9950x AVX-512 On, 720p, SVT-AV1")
plot_9950x_av1_noavx_vs_9950x_avx_1080p = make_graph(list_9950x_av1_vs_avx512_1080p, "9950x AVX-512 Off vs 9950x AVX-512 On, 1080p, SVT-AV1")
plot_9950x_av1_noavx_vs_9950x_avx_4k = make_graph(list_9950x_av1_vs_avx512_4k, "9950x AVX-512 Off vs 9950x AVX-512 On, 4k, SVT-AV1")
print("Ryzen 9 9950x AVX-512 performance gain vs the i7-14700f. \"Zero\" point of 1.0 based on the i7-14700f performance.")
print("\nHEVC encoded by the x265 encoder.\n")
list_9950x_x265_vs_14700f_720p, list_9950x_x265_vs_14700f_1080p, list_9950x_x265_vs_14700f_4k = make_comparison_list(results_14700f, results_9950x_avx, "libx265")
plot_9950x_avx_x265_vs_14700f_720p = make_graph(list_9950x_x265_vs_14700f_720p, "i7-14700f vs 9950x AVX-512 On, 720p, x265")
plot_9950x_avx_x265_vs_14700f_1080p = make_graph(list_9950x_x265_vs_14700f_1080p, "i7-14700f vs 9950x AVX-512 On, 1080p, x265")
plot_9950x_avx_x265_vs_14700f_4k = make_graph(list_9950x_x265_vs_14700f_4k, "i7-14700f vs 9950x AVX-512 On, 4k, x265")
print("\nAV1 encoded by the SVT-AV1 encoder. Note: In SVT-AV1, preset 0 is the heaviest, and preset 13 is the lightest.\n")
list_9950x_av1_vs_14700f_720p, list_9950x_av1_vs_14700f_1080p, list_9950x_av1_vs_14700f_4k = make_comparison_list(results_14700f, results_9950x_avx, "libsvtav1")
plot_9950x_avx_av1_vs_14700f_720p = make_graph(list_9950x_av1_vs_14700f_720p, "i7-14700f vs 9950x AVX-512 On, 720p, SVT-AV1")
plot_9950x_avx_av1_vs_14700f_1080p = make_graph(list_9950x_av1_vs_14700f_1080p, "i7-14700f vs 9950x AVX-512 On, 1080p, SVT-AV1")
plot_9950x_avx_av1_vs_14700f_4k = make_graph(list_9950x_av1_vs_14700f_4k, "i7-14700f vs 9950x AVX-512 On, 4k, SVT-AV1")
geomean_dict = {
"9950x AVX-512 Off vs 9950x AVX-512 On, 720p, x265": geomean(list_9950x_x265_vs_avx512_720p),
"9950x AVX-512 Off vs 9950x AVX-512 On, 1080p, x265": geomean(list_9950x_x265_vs_avx512_1080p),
"9950x AVX-512 Off vs 9950x AVX-512 On, 4k, x265": geomean(list_9950x_x265_vs_avx512_4k),
"9950x AVX-512 Off vs 9950x AVX-512 On, 720p, SVT-AV1": geomean(list_9950x_av1_vs_avx512_720p),
"9950x AVX-512 Off vs 9950x AVX-512 On, 1080p, SVT-AV1": geomean(list_9950x_av1_vs_avx512_1080p),
"9950x AVX-512 Off vs 9950x AVX-512 On, 4k, SVT-AV1": geomean(list_9950x_av1_vs_avx512_4k),
"i7-14700f vs 9950x AVX-512 On, 720p, x265": geomean(list_9950x_x265_vs_14700f_720p),
"i7-14700f vs 9950x AVX-512 On, 1080p, x265": geomean(list_9950x_x265_vs_14700f_1080p),
"i7-14700f vs 9950x AVX-512 On, 4k, x265": geomean(list_9950x_x265_vs_14700f_4k),
"i7-14700f vs 9950x AVX-512 On, 720p, SVT-AV1": geomean(list_9950x_av1_vs_14700f_720p),
"i7-14700f vs 9950x AVX-512 On, 1080p, SVT-AV1": geomean(list_9950x_av1_vs_14700f_1080p),
"i7-14700f vs 9950x AVX-512 On, 4k, SVT-AV1": geomean(list_9950x_av1_vs_14700f_4k)
}
geomean_dict = dict(reversed(geomean_dict.items()))
geomean_graph = make_graph(geomean_dict, "Geomean performance difference at major resolutions, across all presets")
#plot.show()