x264/x265 ST vs. MT x64 CPU-Encoding Benchmark

Schlammsau

Schraubenverwechsler(in)
Schöne Grüße aus dem 3DC,

verglichen wird hier das Encoding eines FullHD Videos mit dem x264 und x265 Codec, jeweils Single- und Multithreaded.
Die Balquali ist bei beiden Setting identisch. Für einen reibungslosen Ablauf empfehle ich die Benutzerkontensteuerung zu deaktivieren.

Ganz wichtig, dass ist ein sogenannter Realbench. Er bildet also die echte Leistung des x26x encodings ab und nicht irgendwelche theoretischen Werte.

Bugfix release 1.0.1 (Ergebnisse sind identisch zur 1.0.0)
X264.vs.x265.x64.CPU.Benchmark.1.0.1

Und hier könnt ihr zusätzlich eure Ergebniss eintragen und auch vergleichen:
x264/x265 ST vs. MT x64 CPU-Encoding Benchmark - Google Tabellen

Hier der Originalthread:
3DCenter Forum - x264/x265 ST vs. MT x64 CPU-Benchmark

So, nun viel Spaß beim benchen.

Ryzen 7 1700@3.6Ghz, 2x8GB@2400Mhz (15-15-15-34-1T)
Code:
x265 - CPU BENCHMARK RESULTS 
============================ 
 
Please report your data to: 
https://www.forum-3dcenter.org/vbulletin/showthread.php?p=11392611#post11392611 
 
============================================= 
= Results for Single- vs. Multithread 1.0.1 = 
============================================= 
 
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
 
x264 Singlethread 
---------------------------------- 
encoded 250 frames, 3.76 fps, 29801.97 kb/s
encoded 250 frames, 3.76 fps, 29801.97 kb/s
 
x264 Multithread 
------------------------------------- 
encoded 250 frames, 35.33 fps, 29799.51 kb/s
encoded 250 frames, 35.43 fps, 29799.51 kb/s
 
 
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
 
x265 Singlethread 
---------------------------------- 
encoded 250 frames in 146.97s (1.70 fps), 18139.82 kb/s, Avg QP:27.45
encoded 250 frames in 147.05s (1.70 fps), 18139.82 kb/s, Avg QP:27.45
 
x265 Multithread 
------------------------------------- 
encoded 250 frames in 17.42s (14.35 fps), 18139.82 kb/s, Avg QP:27.45
encoded 250 frames in 17.44s (14.33 fps), 18139.82 kb/s, Avg QP:27.45
 
 
System Details 
-------------- 
	Specification		AMD Ryzen 7 1700 Eight-Core Processor          
	Specification		DDR4-2800
	Specification		DDR4-2800
	Codename		Summit Ridge
Uncore Frequency		1197.6 MHz
Number of threads		16
	Number of threads	16 (max 16)
	Instructions sets	MMX (+), SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, SSE4A, x86-64, AMD-V, AES, AVX, AVX2, FMA3, SHA
 
Memory Type			DDR4
Memory Size			16 GBytes
Memory Frequency		1197.6 MHz (1:12)
CAS# latency (CL)		15.0
RAS# to CAS# delay (tRCD)	15
RAS# Precharge (tRP)		15
Cycle Time (tRAS)		34
Command Rate (CR)		1T
 
Windows Version			Microsoft Windows 10 (10.0) Professional 64-bit   (Build 15063) 
CPU-Z version			1.79.1
 
Zuletzt bearbeitet:
Core i7 3770K @ 4.3Ghz, 4x4GB @ 1866Mhz (9-10-9-28-2T)
Code:
x265 - CPU BENCHMARK RESULTS 
============================ 
 
Please report your data to: 
https://www.forum-3dcenter.org/vbulletin/showthread.php?p=11392611#post11392611 
 
============================================= 
= Results for Single- vs. Multithread 1.0.1 = 
============================================= 
 
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
 
x264 Singlethread 
---------------------------------- 
encoded 250 frames, 3.89 fps, 29802.88 kb/s
encoded 250 frames, 3.88 fps, 29802.88 kb/s
 
x264 Multithread 
------------------------------------- 
encoded 250 frames, 18.16 fps, 29802.29 kb/s
encoded 250 frames, 18.00 fps, 29802.29 kb/s
 
 
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
 
x265 Singlethread 
---------------------------------- 
encoded 250 frames in 151.42s (1.65 fps), 18139.82 kb/s, Avg QP:27.45
encoded 250 frames in 151.81s (1.65 fps), 18139.82 kb/s, Avg QP:27.45
 
x265 Multithread 
------------------------------------- 
encoded 250 frames in 34.81s (7.18 fps), 18139.82 kb/s, Avg QP:27.45
encoded 250 frames in 35.12s (7.12 fps), 18139.82 kb/s, Avg QP:27.45
 
 
System Details 
-------------- 
	Specification		Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
	Specification		PC3-14900
	Specification		PC3-14900
	Specification		PC3-14900
	Specification		PC3-14900
	Specification		PC3-14900
	Specification		PC3-14900
	Specification		PC3-14900
	Specification		PC3-14900
	Codename		Ivy Bridge
	Stock frequency		3500 MHz
Number of threads		8
	Number of threads	8 (max 8)
	Instructions sets	MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64T, VT-x, AES, AVX
 
Memory Type			DDR3
Memory Size			16 GBytes
Memory Frequency		934.2 MHz (1:7)
CAS# latency (CL)		9.0
RAS# to CAS# delay (tRCD)	10
RAS# Precharge (tRP)		9
Cycle Time (tRAS)		28
Command Rate (CR)		2T
	Command Rate		2T
	Command Rate		1T
	Command Rate		2T
	Command Rate		1T
	Command Rate		2T
	Command Rate		1T
	Command Rate		2T
	Command Rate		1T
 
Windows Version			Microsoft Windows 10 (10.0) Professional 64-bit   (Build 15063) 
CPU-Z version			1.79.1
 
Zuletzt bearbeitet:
Intel Core i7 7700K @4.8 Ghz, 4x8 GB DDR4-3000 CL15-17-17-35 1T

Code:
x265 - CPU BENCHMARK RESULTS 
============================ 
 
Please report your data to: 
https://www.forum-3dcenter.org/vbulletin/showthread.php?p=11392611#post11392611 
 
============================================= 
= Results for Single- vs. Multithread 1.0.1 = 
============================================= 
 
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
 
x264 Singlethread 
---------------------------------- 
encoded 250 frames, 5.23 fps, 29802.88 kb/s
encoded 250 frames, 5.43 fps, 29802.88 kb/s
 
x264 Multithread 
------------------------------------- 
encoded 250 frames, 26.25 fps, 29802.29 kb/s
encoded 250 frames, 26.10 fps, 29802.29 kb/s
 
 
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
 
x265 Singlethread 
---------------------------------- 
encoded 250 frames in 79.22s (3.16 fps), 18139.82 kb/s, Avg QP:27.45
encoded 250 frames in 79.10s (3.16 fps), 18139.82 kb/s, Avg QP:27.45
 
x265 Multithread 
------------------------------------- 
encoded 250 frames in 17.34s (14.42 fps), 18139.82 kb/s, Avg QP:27.45
encoded 250 frames in 17.30s (14.45 fps), 18139.82 kb/s, Avg QP:27.45
 
 
System Details 
-------------- 
	Specification		Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
	Specification		DDR4-2998
	Specification		DDR4-2998
	Specification		DDR4-2998
	Specification		DDR4-2998
	Codename		Kaby Lake
	Stock frequency		4200 MHz
Uncore Frequency		800.0 MHz
Number of threads		8
	Number of threads	8 (max 8)
	Instructions sets	MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64T, VT-x, AES, AVX, AVX2, FMA3, TSX
 
Memory Type			DDR4
Memory Size			32 GBytes
Memory Frequency		1500.0 MHz (1:30)
CAS# latency (CL)		15.0
RAS# to CAS# delay (tRCD)	17
RAS# Precharge (tRP)		17
Cycle Time (tRAS)		35
Command Rate (CR)		1T
 
Windows Version			Microsoft Windows 10 (10.0) Professional 64-bit   (Build 15063) 
CPU-Z version			1.79.1
 
Auf gehts Leute! :)

Ah ja, ihr könnt jetzt das Spreadsheet nur noch mehr anschauen, leider wurde es schon mehrmals zerschossen. Macht aber nix, sie wird gepflegt. :)
 
Andere Benchmarkthreads sind durchaus hier ähnlich frequentiert wie in anderen Foren.
Der Punkt hier ist einfach, dass der Benchmark hier eine unbekannte Eigenproduktion ist, die einem Interessenten noch Einrichtung/manuelle Arbeit abverlangt und auch noch etwas bencht, mit dem 98% aller User nicht das geringste zu tun haben.
Zusätzlich sind die Ergebnisse in den Tabellen nicht besonders repräsentativ um nicht zu sagen nicht wirklich plausibel - dass beispielsweise ein 7700K ähnlich schnell x265 MT konvertieren soll wie ein 1700X ist schlichtweg Käse - das liegt am Benchmark und dessen Einstellungen, nicht an der Leistung der CPUs. Da ist ein Kaby-Lake 4-kerner (taktnormiert!) grade mal ~25% langsamer als ein Ryzen-8-Kerner in einer Disziplin, die der Ryzen-Architektur eigentlich noch sehr gut liegt (sprich in der Realität ist ein 1700er Ryzen rund doppelt so schnell...).
Die Ergebnisse sind nur dann plausibel, wenn Kaby mit AVX2/FMA3 gebencht wurde und Ryzen nicht (weil ders glaube ich auch nicht kann...?) - dann kommts hin, ist aber für jemanden der nicht tief in der Materie ist auch so nicht erkennbar.

All das sind Dinge die Leute davon abhalten sich die Mühe zu machen hier zu benchen, einschließlich mir (und ich verbringe die allerallermeiste Rechenzeit damit, Videos in den HEVC umzuwandeln...).
 
Zuletzt bearbeitet:
Falsch kann ich da nur sagen. Es ist eine Tatsache, dass der 7700K so schnell ist. Ich habe mit dem User Schlammsau das auch schon mal per Handbrake per PN nachvollzogen und nein ich hab kein Quick Sync aktiviert. Das Thema haben wir schon durch und durch diskutiert. ^^ Beim AVX2 Durchsatz ist er auch so schnell wie ein Ryzen auf 3.6 GHz bei den SiSoft Sandra Benchmarks.
 
Wie gesagt, wenn ihr AVX2 beim encoden benutzt und entsprechende Kodiereinstellungen nutzt die davon einen Vorteil haben ist es plausibel. Sonst nicht (QuickSync wäre ja nochmal sehr viel schneller - und qualitativ sehr viel schlechter).

Über welche Dateien und Einstellungen reden wir eigentlich (denn das macht einen extremen Unterschied aus!)?

Lediglich die Bitrate ist bekannt (wer kodiert denn heute noch konstante Bitrate?^^) - aber nicht ob die Einstellungen und das Material beispielsweise 540p bei preset slow oder 2160p bei preset fast sind - bei ersterem wäre der 7700K sehr im Vorteil (Auflösung erlaubt keine große Parallelisierung und starke Einstellungen profitieren von AVX2), bei letzterem würde er vom Ryzen zerrissen.


Aber das ist ja alles eigentlich nicht der Grund für den Post oben, es ging ja darum warum hier so wenige User mitbenchen - genau deswegen: Die meisten haben von sowas noch nie was gehört und die dies kennen wissen nicht was sie da machen, wovon was abhängt und müssen auch noch manuell einrichten ggf. bis hin zur Benutzerkontensteuerung. Selbst wenn das der beste Benchmark der Welt wäre schreckt sowas (in der heutigen Zeit...) leider ab.
 
Bei dem Benchmark muss man doch gar nichts machen. Herunterladen und die Datei ausführen. Fertig. Der Benchmark ist auf preset fast 1080p, kann man doch einsehen wenn man den startet.
 
Hmmm ich hatte das damals versucht aber es funktionierte nichts wirklich... ich probiers mal grade wieder... Moment... :hmm:

EDIT
...ok, scheint jetzt zu gehen, warum auch immer (ich nehme alles zurück^^) :ka:
Dann gibts gleich Zahlen.

EDIT2
=============================================
= Results for Single- vs. Multithread 1.0.1 =
=============================================

x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2

x264 Singlethread
----------------------------------
encoded 250 frames, 3.74 fps, 29802.88 kb/s
encoded 250 frames, 3.78 fps, 29802.88 kb/s

x264 Multithread
-------------------------------------
encoded 250 frames, 36.00 fps, 29798.42 kb/s
encoded 250 frames, 36.92 fps, 29798.42 kb/s


x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2

x265 Singlethread
----------------------------------
encoded 250 frames in 116.89s (2.14 fps), 18139.82 kb/s, Avg QP:27.45
encoded 250 frames in 118.46s (2.11 fps), 18139.82 kb/s, Avg QP:27.45

x265 Multithread
-------------------------------------
encoded 250 frames in 13.82s (18.08 fps), 18139.82 kb/s, Avg QP:27.45
encoded 250 frames in 13.66s (18.30 fps), 18139.82 kb/s, Avg QP:27.45


System Details
--------------
Specification Intel(R) Core(TM) i7-5960X CPU @ 3.00GHz
Specification DDR4-2400
Specification DDR4-2400
Specification DDR4-2400
Specification DDR4-2400
Specification DDR4-2400
Specification DDR4-2400
Specification DDR4-2400
Specification DDR4-2400
Codename Haswell-E/EP
Stock frequency 3000 MHz
Uncore Frequency 1199.7 MHz
Number of threads 16
Number of threads 16 (max 16)
Instructions sets MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64T, VT-x, AES, AVX, AVX2, FMA3

Memory Type DDR4
Memory Size 64 GBytes
Memory Frequency 1199.8 MHz (1:18)
CAS# latency (CL) 15.0
RAS# to CAS# delay (tRCD) 15
RAS# Precharge (tRP) 15
Cycle Time (tRAS) 35
Command Rate (CR) 2T

Windows Version Microsoft Windows 10 (10.0) Professional 64-bit (Build 14393)
CPU-Z version 1.79.1

Das Ergebnis (18,3 fps für x265 MT) ist hier immerhin plausibel. Rund 18 fps vom 4 GHz-Haswell gegen rund 16 fps vom 4 GHz-Ryzen bei gleicher Kernzahl erscheint mit AVX2-Vorteil von haswell sinnvoll. Wie ein Kabylake mit der halben kernzahl (der entsprechend bei etwa 9 fps landen sollte @4GHz wenn sich nicht perfekte Threadskalierung mit leicht höherer IPC des Kabys grob ausgleichen) auf 12 fps kommen kann in der Liste ist dagegen sehr kurios^^
 
Zuletzt bearbeitet:
Bei mir sind es aber auch Singlecore 3.16 FPS. Also mal eben 47% mehr als deine 2,14 von deiner CPU. Das summiert sich dann eben hoch auf 8 Threads und daher kann er da so gut mithalten. Ich bin der Meinung, dass die Intel CPUs immer schlechter geredet werden als sie sind. Es wird so getan, als sei jede CPU gleich nur der Takt ändert sich. Es fließt ja schon bei jeder Generation eine Optimierung ein. Kaby Lake ist eben bei AVX2 sehr stark.
 
Naja, im Grunde genommen ist das ja auch so dass sich außer dem Takt kaum was ändert. Das Problem an der Sichtweise ist, dass die paar Prozent mehr IPC immer nur Mittelwerte sind, bedeutet in speziellen Einzelfällen kann da auch mal +50% oder sowas stehen - bei anderen eben +/-0.

Wie gesagt, offenbar trifft eine Detailverbesserung bei Kaby genau den Flaschenhals dieses benchmarks. Wir hatten sowas bei nem anderen "privaten" Benchmark hier schon mal, dass Ivy-CPUs bei gleichem Takt auf einmal fast doppelt so schnell waren wie vergleichbare Sandys, da hatte auch ein Detail genau da hin getroffen wo es extrem günstig war. Bei bekannten Benches gibts das ja auch die extremen Vorteil von SIMD-Extensions haben, beispielsweise der y-cruncher der mit AVX-Einführung durch die Decke ging.
 
Man trifft aber leider in den Foren genau diese Stammtisch-Sichtweise an. Es wird so getan als würde Intel hier gar nichts tun bei der Optimierung und es wird sich nur auf Oberflächlichkeiten konzentriert. Sowas kann ich nicht ab.
 
Hmmm ich hatte das damals versucht aber es funktionierte nichts wirklich... ich probiers mal grade wieder... Moment... :hmm:

EDIT
...ok, scheint jetzt zu gehen, warum auch immer (ich nehme alles zurück^^) :ka:
Dann gibts gleich Zahlen.

EDIT2
=============================================
= Results for Single- vs. Multithread 1.0.1 =
=============================================

x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2

x264 Singlethread
----------------------------------
encoded 250 frames, 3.74 fps, 29802.88 kb/s
encoded 250 frames, 3.78 fps, 29802.88 kb/s

x264 Multithread
-------------------------------------
encoded 250 frames, 36.00 fps, 29798.42 kb/s
encoded 250 frames, 36.92 fps, 29798.42 kb/s


x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2

x265 Singlethread
----------------------------------
encoded 250 frames in 116.89s (2.14 fps), 18139.82 kb/s, Avg QP:27.45
encoded 250 frames in 118.46s (2.11 fps), 18139.82 kb/s, Avg QP:27.45

x265 Multithread
-------------------------------------
encoded 250 frames in 13.82s (18.08 fps), 18139.82 kb/s, Avg QP:27.45
encoded 250 frames in 13.66s (18.30 fps), 18139.82 kb/s, Avg QP:27.45


System Details
--------------
Specification Intel(R) Core(TM) i7-5960X CPU @ 3.00GHz
Specification DDR4-2400
Specification DDR4-2400
Specification DDR4-2400
Specification DDR4-2400
Specification DDR4-2400
Specification DDR4-2400
Specification DDR4-2400
Specification DDR4-2400
Codename Haswell-E/EP
Stock frequency 3000 MHz
Uncore Frequency 1199.7 MHz
Number of threads 16
Number of threads 16 (max 16)
Instructions sets MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64T, VT-x, AES, AVX, AVX2, FMA3

Memory Type DDR4
Memory Size 64 GBytes
Memory Frequency 1199.8 MHz (1:18)
CAS# latency (CL) 15.0
RAS# to CAS# delay (tRCD) 15
RAS# Precharge (tRP) 15
Cycle Time (tRAS) 35
Command Rate (CR) 2T

Windows Version Microsoft Windows 10 (10.0) Professional 64-bit (Build 14393)
CPU-Z version 1.79.1

Das Ergebnis (18,3 fps für x265 MT) ist hier immerhin plausibel. Rund 18 fps vom 4 GHz-Haswell gegen rund 16 fps vom 4 GHz-Ryzen bei gleicher Kernzahl erscheint mit AVX2-Vorteil von haswell sinnvoll. Wie ein Kabylake mit der halben kernzahl (der entsprechend bei etwa 9 fps landen sollte @4GHz wenn sich nicht perfekte Threadskalierung mit leicht höherer IPC des Kabys grob ausgleichen) auf 12 fps kommen kann in der Liste ist dagegen sehr kurios^^

Mit wieviel Ghz hast du gebencht?

Irgendwie versteh ich die Diskussion hier nicht. Der Bench läuft auf allen Systemen immer gleich und die konsistenter bzw vergleichbarer können die Ergebnisse ja fast nicht sein. Jeder Run mit CRF20 und Preset Fast

Fakt im Moment ist, Kaby Lake verspeist Ryzen unter HEVC "zum Frühstück".
Wie gesagt im Moment, weil ich glaube das liegt an fehlenden Optimierungen. Nimmt man zB. eine ~3 Jahre alte x265 Build (auch mit AVX2), ists genau umgedreht, hier liegt Ryzen wieder vorne.
 
Zuletzt bearbeitet:
Da vermute ich eher, dass damals die Optimierungen noch nicht so weit waren. Schlechter wird ein Codec ja nicht, eher immer besser. Ich bin jedenfalls mal sehr gespannt auf die ersten Skylake-X Ergebnisse. Wenn die fortsetzen was bei Kaby Lake gemacht wurde, dann werden die richtig rocken. :)
 
Mit wieviel Ghz hast du gebencht?
Ah sorry das wird ja nicht ausgelesen - sind wie in meiner Signatur angegeben genau 4 GHz.

Ich bin jedenfalls mal sehr gespannt auf die ersten Skylake-X Ergebnisse.

Ich ebenfalls, vor allem was das MT bei den Vielkernern angeht nachdem der Ringbus beerdigt wurde.
Wenn Skylale-X derart gut performt im HEVC wäre das bei meiner Kaufentscheidung (Threadripper oder SKL-X) ein sehr, sehr gewichtiger Punkt, denn genau das ist das, was die CPU die allermeiste Zeit tun wird.
 
Zurück