Byla vydána nová verze 3.0.8 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Microsoft poskytl FBI uživatelské šifrovací klíče svého nástroje BitLocker, nutné pro odemčení dat uložených na discích třech počítačů zabavených v rámci federálního vyšetřování. Tento krok je prvním známým případem, kdy Microsoft poskytl klíče BitLockeru orgánům činným v trestním řízení. BitLocker je nástroj pro šifrování celého disku, který je ve Windows defaultně zapnutý. Tato technologie by správně měla bránit komukoli kromě
… více »Spotify prostřednictvím svého FOSS fondu rozdělilo 70 000 eur mezi tři open source projekty: FFmpeg obdržel 30 000 eur, Mock Service Worker (MSW) obdržel 15 000 eur a Xiph.Org Foundation obdržela 25 000 eur.
Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.
Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.
Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční
… více »Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.
Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.
Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Vzhledem k diskuzi pod mým posledním blogískem, jsem se rozhodl zopakovat jednoduchý experiment s využitím RAM a jeho výsledky hodit do samostatného zápisku, ať je můžu příště rovnou linkovat.
V případě grafických živých CD probíhal test následovně: Nabootoval jsem CD s výchozími volbami, přes spouštěč (ALT+F2) pustil výchozí emulátor konzole (gnome-terminal v případě Ubuntu, konsole v případě Kubuntu a Chakry) a spustil příkazy:
uname -a >> /tmp/distro-bity.txt
free >> /tmp/distro-bity.txt
Poté jsem přes spouštěč pustil výchozí prohlížeč, počkal až došrotuje mechanika a opět zapsal do souboru výsledky free.
Jednak jsem vyhrabal nějaká stará LiveCD, co mi kdysi doručil Canonical, konkrétně šlo o Ubuntu 7.04 a Kubuntu 7.10, poté jsem stáhl aktuální vydání LiveCD Chakry, konkrétně 2011.12 (při jehož vypalování jsem vyhodil dvě zestárlá CD-RW) a oprášil CLI LiveUSB Arch Linuxu 201005. U všech jsem nabootoval do i686 a pak do x86_64 varianty.
Test jsem udělal na novém Kanashimi (A64 3000+, 1 GB DDR I, Nvidia 7600 GS), viz přístí zápisek. Na Haku (C2D 2,4 GHz, 3 GB DDR II, Ati HD 3600) stará liveCD nenabootovala a Charku zarazil TPM, nebo co to má za vyfikundaci. Na Hikari (i3 2125, 8 GB DDR III, Intel HD 3000) pak nabootoval jak Arch tak Chakra.
Následující tabulky uvádějí hodnoty udané free, konkrétně položku -/+ buffers/cache (v kilobajtech, Chakra uvádí v megabajtech, takže jsem to do tabulky přepočetl) a jejich podíl 64bit/32bit. Případ prohlížeč- udává stav před spuštěním prohlížeče, případ prohlížeč+ po spuštění prohlížeče. Nejprve Kanashimi:
| Distribuce | prohlížeč- | prohlížeč+ | ||||
|---|---|---|---|---|---|---|
| 32bit | 64bit | poměr | 32bit | 64bit | poměr | |
| Ubuntu 7.04 | 124 728 | 189 588 | 1,5200115 | 141 924 | 215 540 | 1,5187001 |
| Kubuntu 7.10 | 107 852 | 198 756 | 1,8428587 | 119 616 | 211 248 | 1,7660514 |
| Chakra 2011.12 | 184 320 | 296 960 | 1,6111111 | 216 064 | 346 112 | 1,6018957 |
| Arch Linux 201005 | 19 272 | 44 724 | 2,3206725 | – | – | – |
Nyní Haku:
| Distribuce | prohlížeč- | prohlížeč+ | ||||
|---|---|---|---|---|---|---|
| 32bit | 64bit | poměr | 32bit | 64bit | poměr | |
| Arch Linux 201005 | 30 192 | 94 092 | 3,1164547 | – | – | – |
A konečně Hikari:
| Distribuce | prohlížeč- | prohlížeč+ | ||||
|---|---|---|---|---|---|---|
| 32bit | 64bit | poměr | 32bit | 64bit | poměr | |
| Chakra 2011.12 | 204 800 | 381 952 | 1,865 | 236 544 | 432 128 | 1,8268398 |
| Arch Linux 201005 | 26 000 | 170 536 | 6,5590769 | – | – | – |
Následují spojené textové soubory zachycené na LiveCD na Kanashimi:
Linux ubuntu 2.6.20-15-generic #2 SMP Sun Apr 15 07:36:31 UTC 2007 i686 GNU/Linux
total used free shared buffers cached
Mem: 1035784 560032 475752 0 82068 353236
-/+ buffers/cache: 124728 911056
Swap: 0 0 0
total used free shared buffers cached
Mem: 1035784 621292 414492 0 90728 388640
-/+ buffers/cache: 141924 893860
Swap: 0 0 0
Linux ubuntu 2.6.20-15-generic #2 SMP Sun Apr 15 06:17:24 UTC 2007 x86_64 GNU/Linux
total used free shared buffers cached
Mem: 1028120 646504 381616 0 81916 375000
-/+ buffers/cache: 189588 838532
Swap: 0 0 0
total used free shared buffers cached
Mem: 1028120 723472 304648 0 91564 416368
-/+ buffers/cache: 215540 812580
Swap: 0 0 0
Linux ubuntu 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686 GNU/Linux
total used free shared buffers cached
Mem: 1035636 488376 547260 0 69152 311372
-/+ buffers/cache: 107852 927784
Swap: 0 0 0
total used free shared buffers cached
Mem: 1035636 509352 526284 0 71236 318500
-/+ buffers/cache: 119616 916020
Swap: 0 0 0
Linux ubuntu 2.6.22-14-generic #1 SMP Sun Oct 14 21:45:15 GMT 2007 x86_64 GNU/Linux
total used free shared buffers cached
Mem: 1029488 595600 433888 0 69028 327816
-/+ buffers/cache: 198756 830732
Swap: 0 0 0
total used free shared buffers cached
Mem: 1029488 612324 417164 0 70244 330832
-/+ buffers/cache: 211248 818240
Swap: 0 0 0
Linux chakra 3.1-CHAKRA #1 SMP PREEMPT Wed Dec 7 11:05:16 UTC 2011 i686 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux
total used free shared buffers cached
Mem: 1004 699 305 0 85 433
-/+ buffers/cache: 180 824
Swap: 0 0 0
total used free shared buffers cached
Mem: 1004 762 242 0 91 459
-/+ buffers/cache: 211 792
Swap: 0 0 0
Linux chakra 3.1-CHAKRA #1 SMP PREEMPT Tue Dec 6 22:49:14 UTC 2011 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux
total used free shared buffers cached
Mem: 999 824 175 0 86 447
-/+ buffers/cache: 290 708
Swap: 0 0 0
total used free shared buffers cached
Mem: 999 902 96 0 91 472
-/+ buffers/cache: 338 660
Swap: 0 0 0
Linux archiso 2.6.33-ARCH #1 SMP PREEMPT Thu May 13 12:06:25 CEST 2010 i686 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux
total used free shared buffers cached
Mem: 1028796 63780 965016 0 9112 35396
-/+ buffers/cache: 19272 1009524
Swap: 0 0 0
Linux archiso 2.6.33-ARCH #1 SMP PREEMPT Thu May 13 11:32:37 CEST 2010 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux
total used free shared buffers cached
Mem: 1025280 92888 932392 0 9784 38380
-/+ buffers/cache: 44724 980556
Swap: 0 0 0
Následují spojené textové soubory zachycené na LiveCD na Haku:
Linux archiso 2.6.33-ARCH #1 SMP PREEMPT Thu May 13 12:06:25 CEST 2010 i686 Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz GenuineIntel GNU/Linux
total used free shared buffers cached
Mem: 3093688 83652 3010036 0 10948 42512
-/+ buffers/cache: 30192 3063496
Swap: 0 0 0
Linux archiso 2.6.33-ARCH #1 SMP PREEMPT Thu May 13 11:32:37 CEST 2010 x86_64 Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz GenuineIntel GNU/Linux
total used free shared buffers cached
Mem: 3083352 152400 2930952 0 11584 46724
-/+ buffers/cache: 94092 2989260
Swap: 0 0 0
Následují spojené textové soubory zachycené na LiveCD na Hikari:
Linux chakra 3.1-CHAKRA #1 SMP PREEMPT Wed Dec 7 11:05:16 UTC 2011 i686 Intel(R) Core(TM) i3-2125 CPU @ 3.30GHz GenuineIntel GNU/Linux
total used free shared buffers cached
Mem: 3447 786 2661 0 87 498
-/+ buffers/cache: 200 3247
Swap: 0 0 0
total used free shared buffers cached
Mem: 3447 852 2595 0 93 527
-/+ buffers/cache: 231 3216
Swap: 0 0 0
Linux chakra 3.1-CHAKRA #1 SMP PREEMPT Tue Dec 6 22:49:14 UTC 2011 x86_64 Intel(R) Core(TM) i3-2125 CPU @ 3.30GHz GenuineIntel GNU/Linux
total used free shared buffers cached
Mem: 7900 972 6928 0 87 511
-/+ buffers/cache: 373 7527
Swap: 0 0 0
total used free shared buffers cached
Mem: 7900 1062 6838 0 93 546
-/+ buffers/cache: 422 7477
Swap: 0 0 0
Linux archiso 2.6.33-ARCH #1 SMP PREEMPT Thu May 13 12:06:25 CEST 2010 i686 Intel(R) Core(TM) i3-2125 CPU @ 3.30GHz GenuineIntel GNU/Linux
total used free shared buffers cached
Mem: 3528008 73104 3454904 0 9468 37636
-/+ buffers/cache: 26000 3502008
Swap: 0 0 0
Linux archiso 2.6.33-ARCH #1 SMP PREEMPT Thu May 13 11:32:37 CEST 2010 x86_64 Intel(R) Core(TM) i3-2125 CPU @ 3.30GHz GenuineIntel GNU/Linux
total used free shared buffers cached
Mem: 8093896 221396 7872500 0 10136 40724
-/+ buffers/cache: 170536 7923360
Swap: 0 0 0
Co si mám myslet o číslech samotného CLI Archu (de facto jen Linux a Bash), opravdu nevím. Na druhou stranu by to vysvětlovalo značný nárůst využití RAM pozorovaný mezi 32bitovým netbookem Kanashimi a 64bitovým Hikari, kde provozuji systém s téměř stejnou konfigurací i běžícími službami. Zajímavé je také porovnání GNOME–KDE, kde to vypadá, že u KDE je záměna 32bit za 64bit systém cítit více. Rozdíl mezi 32bit a 64bit systémem se zdá také záviset na konkrétním hardwaru a to poměrně značně (viz rozdíly u Chakry mezi Kanashimi a Hikari. Celkově to na mém hardwaru vypadá tak, že rozdíly ve využití RAM mezi 32bit a 64bit systémem jsou v řádu 50–80 %.
Tiskni
Sdílej:
Tyhle hromady čísel sou pro mě (asi nebudu sám) težko stravitelný.
gnuplot by měl být na ty správné grafy.
Ještě sehnat něco do ntb a sem spokojenej...
Konečně bych měl na čem počítat BOINC přes CUDA na grafice a skóre by mi rostlo 10x rychlejš! A ten účet za elektriku potom
No ještě si budu muset na takovej luxus chvíli počkat ...
Není problém v tom, že jsou v těch distribucích libcompat librarys z 32bit systému?
To je docela dobře možné. Směrodatnější by bylo porovnání konkrétní aplikace se stejnou konfigurací a stejnými daty, třeba právě toho prohlížeče.
(IA64 32bit neumí)
Spíš konkrétní distribuce, architektura jako taková ano (i když v SW emulaci).
Nejen instrukce, ale hlavně registry. Takhle třeba vypadá funkce sčítající čtyři čísla na x86_64:
0x0000000000400560 <+0>: add %rsi,%rdi 0x0000000000400563 <+3>: add %rdi,%rdx 0x0000000000400566 <+6>: lea (%rdx,%rcx,1),%rax 0x000000000040056a <+10>: retq
a takhle na i586:
0x08048450 <+0>: mov 0x4(%esp),%edx 0x08048454 <+4>: mov 0x8(%esp),%eax 0x08048458 <+8>: add %edx,%eax 0x0804845a <+10>: mov 0xc(%esp),%ecx 0x0804845e <+14>: add %ecx,%eax 0x08048460 <+16>: mov 0x10(%esp),%edx 0x08048464 <+20>: add %edx,%eax 0x08048466 <+22>: ret
a=b+c+d+e?
V reegistrech bych očekával hlavní nárust zisku. Mohu přehazovat na jeden takt 2x více dat.
Jde hlavně o to, že jich je víc, takže se spousta věcí dá udělat v registrech a nemusí se tak často sahat do paměti. Třeba v případě celočíselných nebo pointerových parametrů se na x86_64 se prvních šest parametrů předává v registrech, zatímco na i586 jen 0-3.
Ty uvodní čísla jsou program counter? add na 64 bitech jsou 3 bytové instrukce?
Ano, jsou to adresy, na kterých je příslušná instrukce. Délka instrukce bude IMHO záviset na tom, co s čím se sčítá.
A ještě tohle je standardní funkce kterou kompilátor zařadí do kódu z přiřazení a=b+c+d+e?
Je to reálně přeložený prográmek
#include <stdio.h>
long sum4(long a, long b, long c, long d)
{
return a + b + c + d;
}
int main()
{
printf("%ld\n", sum4(1,2,3,4));
return 0;
}
pomocí
gcc -O3 -fomit-frame-pointer -fno-inline -m64 -march=k8 -o reg-64 reg.c gcc -O3 -fomit-frame-pointer -fno-inline -m64 -march=i586 -o reg-32 reg.c
Výpis funkce byl získán pomocí gdb (disassemble sum4). Samotné přiřazení uprostřed funkce by bylo implementováno různě podle toho, kam zrovna optimalizátor uloží příslušné proměnné; obecně ale platí, že na x86_64 je větší šance, že proměnná bude v registru.