Portál AbcLinuxu, 1. května 2025 07:30
Před samotnou kompilací jsem pro jistotu spustil 'tar -cp linux-4.0.5-gentoo | cat > /dev/null
', aby toho bylo co nejvíc v cachi a tudíž aby byl proces co nejméně zpomalován přístupem na disk.
Nebylo by jednodušší to rovnou překládat na tmpfs, aby to disk neovlivňoval vůbec? (A k čemu je tam dobrý ten cat
?)
Vzhledem k tomu, že jste to spouštěl ve virtuálu, což znamená dva operační systémy, kde mohly další procesy náhodně ovlivňovat výsledky, bylo by vhodné aspoň spustit každý test víckrát a uvést aspoň průměr a směrodatnou odchylku.
Ohledně prezentace: je to strašně nepřehledné. Doporučoval bych do textu dát jen tabulku s výsledky jednotlivých testů a kompletní výstupy přiložit zvlášť, aby se do nich čtenář podíval až když ho budou zajímat detaily.
Tohle je na dnešních systémech bohužel čím dál méně pravda. Ještě tak před 7-8 lety jsem na školeních ukazoval výstup ps
a komentoval, že přestože systém (s KDE) běží už několik hodin, jsou tam jen jeden nebo dva procesy, které nasbíraly přes sekundu času CPU (a žádný přes dvě). Dnes už by to vypadalo výrazně jinak.
Když jsou výsledky tak zřetelně odlišné, jako je to ve většině testů tady, tak to moc nevadí. Pokud ale někdy budete dělat test, kde budou jen malé rozdíly mezi dvěma variantami, může to výsledky dost ovlivnit.
init─┬─6*[agetty] ├─lxc-monitord ├─lxc-start───init─┬─dbus-daemon │ └─5*[getty] ├─rsyslogd─┬─{in:imklog} │ ├─{in:imuxsock} │ └─{rs:main Q:Reg} ├─sshd───sshd───bash───pstree └─systemd-udevd
Pokud je málo paměti, tak i data naPřed samotnou kompilací jsem pro jistotu spustil 'tar -cp linux-4.0.5-gentoo | cat > /dev/null
', aby toho bylo co nejvíc v cachi a tudíž aby byl proces co nejméně zpomalován přístupem na disk.Nebylo by jednodušší to rovnou překládat na tmpfs, aby to disk neovlivňoval vůbec?
tmpfs
mohou být odswapována, takže pokud se dělají podobné testy, tak je vhodné před testem swap vypnot. Případně se může místo tmpfs
použít ramfs
, ten je v jádrech přítoment automaticky (viz cat /proc/filesystems
), ale nemá kvóty, limity a hlavně možnost odlložit data do swapu. Tudíž je velmi snadné jeho pomocí dostat systém do stavu, kdy dojde paměť a jádro s tím nemůže nic udělat, navíc se paměť zabraná ramfs
(i tmpfs
) jeví jako disková cache, tudíž ji mnoho "paměťometrů" ignoruje.
Pokud je málo paměti, tak i data na tmpfs mohou být odswapována, takže pokud se dělají podobné testy, tak je vhodné před testem swap vypnot.Ono je otazka, zda dnes naopak vubec jeste swap zapinat.
-evp
jede víc než dvakrát tak rychle?
~ # openssl speed aes-128-cbc Doing aes-128 cbc for 3s on 16 size blocks: 13336477 aes-128 cbc's in 3.00s Doing aes-128 cbc for 3s on 64 size blocks: 3619319 aes-128 cbc's in 3.00s Doing aes-128 cbc for 3s on 256 size blocks: 908566 aes-128 cbc's in 2.97s Doing aes-128 cbc for 3s on 1024 size blocks: 479547 aes-128 cbc's in 3.00s Doing aes-128 cbc for 3s on 8192 size blocks: 60609 aes-128 cbc's in 3.00s OpenSSL 1.0.1o 12 Jun 2015 built on: Sun Jun 21 15:25:42 2015 options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx) compiler: x86_64-pc-linux-gnu-gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -march=nocona -O2 -pipe -fno-strict-aliasing -Wa,--noexecstack The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128 cbc 71127.88k 77212.14k 78314.11k 163685.38k 165502.98k ~ # openssl speed -evp aes-128-cbc Doing aes-128-cbc for 3s on 16 size blocks: 38902595 aes-128-cbc's in 3.00s Doing aes-128-cbc for 3s on 64 size blocks: 11123415 aes-128-cbc's in 3.00s Doing aes-128-cbc for 3s on 256 size blocks: 2852978 aes-128-cbc's in 3.00s Doing aes-128-cbc for 3s on 1024 size blocks: 710868 aes-128-cbc's in 3.00s Doing aes-128-cbc for 3s on 8192 size blocks: 88929 aes-128-cbc's in 3.00s OpenSSL 1.0.1o 12 Jun 2015 built on: Sun Jun 21 15:25:42 2015 options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx) compiler: x86_64-pc-linux-gnu-gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -march=nocona -O2 -pipe -fno-strict-aliasing -Wa,--noexecstack The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-128-cbc 207480.51k 237299.52k 243454.12k 242642.94k 242835.46k
Rok 2010 vs. 2014, TDP 95 W vs. 20 W, 4 jádra vs. 8 jader…
Porovnat se dá samozřejmě všechno, ale u příliš odlišných věcí nedává výsledek moc velký smysl.
Jak jsem psal, srovnával jsem si to z čistě praktického důvodu, protože prostě uvažuju o nahrazení jednoho druhým. Takže pro mě to smysl má...Rok 2010 vs. 2014, TDP 95 W vs. 20 W, 4 jádra vs. 8 jader…
Porovnat se dá samozřejmě všechno, ale u příliš odlišných věcí nedává výsledek moc velký smysl.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.