Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2015-04-19

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
10:16 xstill zase posunuly deadline
11:23 mornfall nojo, deadline, ale venku je jaro :D
11:26 xstill na začátku týdne bylo pomalu léto :-)
11:26 xstill jo a když zapneme -Og tak paměť klesna zhruba na polovinu, přidám tam detekci a zapnutí toho v debugu
11:27 mornfall to su zvědavej jestli to fakt půjde debugovat
11:28 mornfall jo a jakej dopad to má na build time? možná na to chceš jinej typ buildu než Debug?
11:29 xstill Optimize debugging experience.  -Og enables optimizations that do not interfere
11:29 xstill with debugging. It should be the optimization level of choice for the standard
11:29 xstill edit-compile-debug cycle, offering a reasonable level of optimization while
11:29 xstill maintaining fast compilation and a good debugging experience.
11:29 xstill takže debugovat by to snad mělo jít, čas zjistím
11:29 mornfall no to jsem četl, ale moc tomu nevěřím :D
11:31 mornfall ale tak třeba se to správně seskládá s bugama v gdb a výsledek bude lepší než -O0 ... kdoví
11:31 mornfall ono to gdb moc nefunguje ani s tím -O0
12:26 xstill hm, jsem si měl dát menší build, teď budu ještě čtvrt hodiny čekat jak rychle se mi to zbuildí s -Og
12:27 mornfall :-)
12:35 xstill někdo by mohl ještě opravit warningy
12:49 xstill wtf. já už na to fakt kašlu, vypadalo to, že to funguje, ale teď to -Og sežralo 2x tolik času a ještě k tomu víc paměti :-/
16:15 mornfall spustil jsem si build na arke a teď se paralelně překládá clang a vedle toho instance... moc tomu nerozumím
16:15 mornfall jo a ještě gcc
16:16 mornfall aha protože jsem pustil 32b a 64b vedle sebe...
16:16 mornfall nojo
16:37 xstill btw. -gsplit-dwarf zvýšil paměťovou náročnost asi o 5%
16:37 xstill příjde mi to dost marný…
16:38 mornfall no, ono nakonec dává smysl že za tu paměť nemůže debuginfo, když náš release je relwithdebinfo
16:40 xstill hm? to mi právě smysl nedává
16:41 mornfall no, v release paměť stačí a tam je debuginfo taky
16:41 xstill aha tak
16:55 mornfall jako forma řešení by byla -fPIC -fvisibility=hidden a vyrobit z toho .so
16:55 mornfall (případně několik .so)
16:56 mornfall (teda muselo by se někam dopsat že ty run() jsou visible)
16:57 xstill jako, že by instance byly sdílená knihovna?
16:57 mornfall ten principiální problém celýho podniku totiž je, že i když to linkuješ postupně, ve výsledku máš stejnej počet symbolů
16:58 mornfall no, volitelně, protože se to pak blbě používá, ale zrovna v nixovým buildu to je jedno
16:58 mornfall (a symboly nejde schovat, protože když děláš binárku musíš jim všem přiřadit adresy a poštelovat příslušné instrukce)
16:59 mornfall když máš -fPIC tak těm symbolům nastavíš offsety a základní adresa se dodá za runtime
17:00 mornfall což je sice pomalejší, ale znamená to že ty symboly můžeš skoro všechny vyházet když vyrábíš to .so
17:00 mornfall (jedno so = jedna base adresa)
17:01 mornfall ld.so pak resolvuje jen cross-so reference
17:01 xstill ale linkování toho .so bude zhruba tak drahý jako je linkování těch instancí dohromady, ne?
17:01 mornfall (v našem případě plusminus jen jedno run per instance, plus asi konstruktory, destruktory a tak)
17:02 mornfall to ano
17:03 mornfall ale těch .so můžeš foreach-em (snad) vyrobit kolik budeš chtít
17:03 mornfall v extrémním případě pro každý .o jedno .so
17:06 mornfall taky můžem zkusit na pheme vyrobit 24G swapu nebo něco v tom smyslu, třeba to doběhne v konečným čase :P
17:10 xstill tak to spíš můžeme snížit počet build slotů na polovinu a každýmu dát 8GB paměti, a bude to možná i rychlejší než se swapem
17:11 xstill ale zase na tom je blbý, je to by chtělo dělat jen pro divine
17:26 xstill hm, můžeme zaptnout inlining v debugu, to zmenší build na 50%
17:26 xstill otázka je co to udělá s debugováním…
17:37 xstill hm, jen jestli jsem to nezměřil blbě
17:42 mornfall no, řekl bych žes to změřil nějak divně, protože s -gsplit-dwarf na gcc_all mám [ 89%] Built target divine
17:42 mornfall (z arke v nixu, buildovalo se to na pheme)
17:44 xstill tak možný to je, ale měřil jsem paměť na celej build pomocí time
17:44 xstill leda by instance ve skutečnosti u mě byly větší než linkování, ale to se mi moc nezdá (a není to paralení)
17:45 mornfall a nepíše time náhodou MaxVMM nebo tak něco?
17:45 mornfall ono max resident set normálně ani nejde moc zjistit
17:46 mornfall nebo jo? já už nevim, s měřením paměti jsou vždycky nějaký trable (pamatuju si protože divine report)
17:46 xstill tvrdí, že Maximum resident set size of the process during its lifetime, in Kbytes.
17:47 xstill proč by max resident set neměl jít zjistit?
17:49 mornfall jo, on asi jde, jen to možná nakonec není to co chceš měřit
17:49 mornfall zejména pokud je v tom zamotanej mmap
17:49 xstill jakto?
17:49 mornfall něco jinýho nejde (jen nevim co to bylo)
17:49 mornfall no, mmap funguje docela dobře aj když ta paměť není
17:50 mornfall a nežere u toho swap
17:50 xstill jako overcommit?
17:50 mornfall ne, ale odhaduju že do rss se počítá aj mmap když se natáhne do RAMky
17:50 mornfall ale když ta RAMka není tak se nenatáhne
17:51 xstill aha mmap skutečně na soubor
17:51 mornfall nevim jak třeba normální ld ale ld.gold má nammapovaný celý ty .o
17:51 mornfall takže když tomu dáš dost RAMky tak ji asi sežere s divinem skoro všechnu
17:51 xstill hm, to by dávalo smysl, proč jsou to tak vysoký čísla u toho all buildu (a top počítám ukazuje totéž)
17:51 mornfall (a nic jinýho ji zrovna na nic nechce)
17:52 mornfall jako na tom gcc_all mi už běží testy
17:53 mornfall takže to asi zkusim zarecordovat s tím -gsplit-dwarf a uvidíme co na to hydra
17:53 xstill a půjde to teda debugovat? (protože jestli ne, tak ten debug můžeme rovnou vypnout…)
17:54 xstill ono vůbec, proč je vlastně v těch nixovejch buildech zapnutej?
17:54 xstill a pozor pokud to clang neumí (můžu ti poslat patch co to zapne jen pokud je to k dispozici)
17:55 mornfall nevim... v LVM to máme udělaný tak že když něco vyrobí core tak se vydumpuje thread apply all bt full do logu
17:55 mornfall +        debug = if clang then [] else [ "-DCMAKE_CXX_FLAGS_DEBUG=-gsplit-dwarf" ];
17:55 mornfall ^^ tohle jsem udělal
17:55 xstill aha takhle, tak to jo
17:55 xstill to je vlastně na tohle i lepší
17:56 xstill to core je dobrej nápad, to by stálo za to i u divine buildů
17:57 mornfall (a to s tím .dwo bude fungovat skoro určitě, jak vyřešit aby se ty .dwo nakopírovali do output derivace a pak je gdb našlo nevím, ale možná to zatím není nevyhnutný)
18:02 xstill hm, tak základní chybjen předpoklad byl, že linkování sebere nejvíc paměti v celým buildu :-/
18:03 xstill a pak jsem náhodou to inlinování naměřil tak, že jsem nejdřív zbuildoval instance paralelně a pak slinkoval divine pod time, takže proto jsem měl lepší paměť, ve skutečnosti to výjde nastejno
18:14 xstill hm, spito musí být nadšenej z toho mailu co teď přišel
18:17 spito xstill: ale v pohodě, právě jsem dotechoval 55 slidů, které jsem vám chtěl ukázat...nu což, tak příště :P
18:17 spito *dotexoval
18:20 xstill tak pozitivní je, že se na to příště nebudeš už muset připravovat, a můžeš se vyspat…
18:20 spito :D
18:20 spito tak já jsem se vyspal
18:20 xstill hm 55 slidů… to bys měl přijít ale teď i příště
18:20 spito to není ten problém
18:20 spito tak, ono to jsou animace
18:21 spito skutečných slidů je 16
18:21 xstill aha tak, to by pak mohlo být v pohodě
18:23 xstill no já jsem třeba rád, že zítra nebudu potřebovat budíka tímhle způsobem
18:24 xstill jít do školy na čtvrtou odpoledne není špatný :-D
18:25 spito no, já budu mít zítřek na to, abych se naučil numerický metody
18:25 spito to taky není špatný
18:28 spito http://anna.fi.muni.cz/~xweiser1/seminar2015/
18:32 xstill spito: no, číst to teď nebudu, to se mi nechce, ale trochu bych ti zkritizoval design s dovolením: tu zelenou to chce světlejší (ten text je na tom moc tmavej), možná bych vypnul syntax highlight, nebo minimálně ty čísla jsou dost světlý, ten žlutej trojůhelník je potenciálně dost špatně vyditelnej (snažím se tak nějak odhadnout, co to udělá na projektoru)
18:33 spito jj, já na to zítra mrknu v b410
18:33 spito a případně to trochu předělám
18:34 xstill hm, mohl jsem taky už konečně dodělat tu svou ParaDiSe šablonu a říct o tom někomu…
18:34 spito :)
18:34 spito já vycházel z nikolovy a trochu jsem ji poparadisoval
18:34 xstill :-)
19:31 mornfall jo, ale 32b build teda krachnul...
19:33 xstill hm, ony ty 32 bit nix buildy jsou taky téměř zbytečný v dnešní době, ne?
19:34 xstill (počítám, že ten lokální, hydře to nevydím)
19:35 mornfall tak, kdyby šlo přeložit _def tak bych se nezlobil... _all asi stačí 64b
19:35 mornfall jo lokální
19:48 xstill def ze zbuildil na x86
23:55 xHire joined #divine

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary