Portál AbcLinuxu, 4. května 2025 15:12
v glibc aby se občas prasátko vyznaloTo je především tím, že jsou tam smixovány věci z POSIXu, *BSD, System V a z lecjakých dalších zdrojů. Pak jsou pro jeden účel třeba tři různé funkce s podobným názvem, ale různým počtem nebo pořadím argumentů a různým chováním. Též tam figurují staré funkce nevhodné pro multithreadové prostředí a jejich modernější náhrady.
man memcpy
, kde svítí datum 1993-04-10, nebo man socket
s datem 4. dubna 1997 socket()
zrovna ano - ne v syntaxi, ale v podporovaných rodinách a protokolech (ale ani tehdy nebyly zdokumentovány všechny).
Pokročilá oprávnění
- otevře se panel, ze kterého ale není hned jasné, že lze také pracovat s ACL), zasloužil by revizi.
Online dostupna treba http://www.gnu.org/software/libc/manual/html_node/index.htmlThis is Edition 0.10, last updated 2001-07-06, of The GNU C Library Reference Manual, for Version 2.2.x of the GNU C Library. Ehm... To je bohužel přesně ta obstarožní verze, o které jsem mluvil.
Osobne me prijde nejpraktictejsi v info-formatu.O tom by se dalo polemizovat. Příznivcům editoru VIM asi nejpraktičtější přijde, ale mně osobně přijde nejpraktičtější HTML.
To by znamenalo, že se všechny stránky aplikace odloží na disk a to sekvenčně.Nestačilo by jednoduše ve WM aplikaci skrýt a při dalším kliknutí na ikonku její okno znovu zobrazit? Možná ji ještě odříznout od smyčky zpráv ...
oom_adj
zapsala hodnota 15 (maximum), která říká, že takový proces je při sestřelování výrazně prefereován. Co se týká plánování, lze nastavit plánovač SCHED_BATCH
a nice na hodnotu 19. Při "probuzení" se to pak vrátí do původního stavu. Zjednodušeně např. takhle:
void sleep_process(pid_t pid) { char path[50]; sprintf(path, "/proc/%d/oom_adj", (int) pid); FILE* f = fopen(path, "w"); fprintf(f, "1"); fclose(f); struct sched_param sp = { .sched_priority = 0 }; sched_setscheduler(pid, SCHED_BATCH, &sp); setpriority(PRIO_PROCESS, pid, 19); }Při plnohodnotné implementaci by se hodnoty uložily a při "probouzení" použily.
Tak to se da spise udelat lepe, ze se zoptimalizuje spousteni aplikace. Coz se u OO2 deje. A asi jsou zde rezervy. Prednacitat data je podle me na nic. K prvnimu spusteni aplikace, ze si pockate par vterin vice ? Na co? A ze Word startuje o vterinu rychleji ? Je to i o volbe filesystemu. V kernelu snad i nejaka podpora je. Nebo nejaky projekt+filesystem na toto tema je. Ale kazdopadne nejvice problemu je na strane aplikaci. Nebo si to hodte do ramdisku, kdyz uz to musite mit o par vterin rychlejsi. Jenomze tady si lidi jaksi neuvedomuji, ze doba startu je zanedbatelna s dobou, po kterou s aplikaci pracuji.a) Zkoušel jsi někdy psát tak, aby to nevypadalo, že to vymýšlíš vícevláknově a píšeš podle toho, jak se jednotlivá vlákna dostávají k výstupu? b) k tomu poslednímu odstavci - doba startu nijak nesouvisí s dobou, po kterou budu s aplikací pracovat, nevidím tedy důvod, proč by i start nemohl být rychlý, obzvlášť když se vývojáři tím pádem budou moci starat o rychlý běh programu a rychlejší start nechat na tom hypotetickém démonovi. OO2 jsou krásný příklad - startují pomalu, běží pomalu... to že někdo zoptimalizoval spouštění je mi jaksi úplně k ničemu.
start @ Idea Pool
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.