ffmpeg -threads 2 -i a.dv -target pal-dvd -y a.vob
Para exprimir nuestro procesador al máximo, hay que compilar ffmpeg con las optimizaciones de nuestra arquitectura (usar --cpu= en configure), y hay que ejecutarlo con tantas "threads" como núcleos tengamos.
Tengo bastante variedad de CPUs a mi alcance, e iré completando esta tabla:
CPU | GHz | cache K | --cpu= | -threads 1 | -threads 2 | -threads 3 | -threads 4 |
---|---|---|---|---|---|---|---|
Pentium-M | 1.40 | 1024 | pentium-m | 38 | - | - | - |
Amd Neo K125 | 1.70 | 1024 | amdfam10 | 42 | 42 | - | - |
Intel D830 | 3.00 | 2048 | prescott | 41 | 65 | - | - |
Intel E6400 | 2.13 | 2048 | core2 | 85 | 119 | - | - |
E2-1800 | 1.70 | 1024 | amdfam10 | 100 | 116 | - | - |
E2-1800 | 1.70 | 1024 | amdfam10 64b | 109 | 122 | - | - |
Intel E5200 | 2.50 | 2048 | core2 | 89 | 129 | - | - |
Intel E5200 | 2.50 | 2048 | core2 64b | 109 | 138 | - | - |
Intel Q8300 | 2.50 | 4096 | core2 | 103 | 133 | 158 | 132 |
Intel Z3775 | 1.46 | 2048 | core2 | 110 | 134 | 152 | 159 |
Intel i7 640LM | 2.13 | 4096 | core2 | 86 | 118 | 142 | 160 |
Intel i3 3217U | 1.80 | 3072 | core2 64b | 165 | 196 | 222 | 226 |
Intel i7 640LM | 2.13 | 4096 | corei7 | 199 | 245 | 281 | 290 |
Intel i7 640LM | 2.13 | 4096 | corei7 64b | 216 | 267 | 298 | 310 |
i5-3450 | 3.10 | 6144 | corei7 | 200 | 275 | 327 | 351 |
i5-3450 | 3.10 | 6144 | corei7 64b | 215 | 299 | 364 | 389 |
Intel i7 3630QM | 2.40 | 6144 | corei7 64b | 217 | 311 | 394 | 413 |
Intel i5 8300H | 2.30 | 8192 | corei7 64b | 518 | 883 | 1118 | 1098 |
Sorprenden los resultados de mi humilde Pentium-M. La posible explicación es que está corriendo sobre Ubuntu, y este test debe estar limitado por el ancho de banda del disco (los demás procesadores corren sobre Cygwin).
También es curioso que el Q8300 y el 8300H funcionen mejor con 3 threads que con 4. Posible caso de cache trashing.