Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2015-03-08

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

All times shown according to UTC.

Time Nick Message
08:34 mornfall zajímavé :-)
09:32 xstill mornfall: myslíš, že zítra k večeru by mohl být ten upravený pool?
09:34 mornfall ale jo upravenej pool už je asi i teď, jen s tím nejde přeložit většina generátorů...
10:02 mornfall xstill: poslal jsem to jako patchset na divine@
10:02 mornfall 1) přeložit jde nejspíš jen GEN_LLVM
10:03 mornfall 2) ephemeral paměť je limitovaná na 2M a když to přeleze tak to nepozná
10:03 mornfall (per vlákno)
10:03 mornfall 3) patche jsou v dost náhodným pořadí a asi maj sémantický závislosti
10:14 mornfall ad per-object splitter
10:14 mornfall 159 object(s) of size 172 for 26/79kB
10:14 mornfall 131 object(s) of size 280 for 35/78kB
10:14 mornfall 35 object(s) of size 360 for 12/31kB
10:14 mornfall 159 object(s) of size 484 for 75/205kB
10:14 mornfall myslím že tohle jsou ty problémový fragmenty
10:15 mornfall (to je fifo.bc)
10:16 mornfall je otázka co z toho jsou framy a co globální proměnný (pole, objekty)
10:16 mornfall ale asi bych tipnul že jsou to (skoro) všechno framy
10:17 mornfall takže je dost možný že register allocator s tím ještě zamává
10:17 mornfall ale ten asi do zítra večera nebude
10:17 mornfall nevim no
10:19 mornfall ještě k poolu, nemám profil jak moc pomalej je ten first-fit alokátor, je dost možný že to jde udělat výrazně líp
10:20 mornfall (minimálně použít konec poslední alokace jako iniciální offset toho hledání)
10:32 mornfall pro lamport zase:        3877 object(s) of size 372 for 1408/3410kB
10:43 mornfall hm, taky mi přijde že ten čtyřbajtovej forkcount v Root-u je zbytečnej?
10:44 mornfall mělo by to být (size - slack) / sizeof( Pointer ), size vytáhnout z poolu a slack by měl být konstanta
10:48 mornfall hm, až na to že si někde potřebujem pamatovat jestli to je flat nebo není
10:50 mornfall (ale jestli jsou flat rooty motivovaný DVEčkem tak bych je v klidu vyhodil, s tím že extra malý stavy budou mít prostě v rootu forkcount() == 1)
15:44 xstill mornfall: ad flat, jo to by asi šlo udělat tak, že to bude mít jeden leaf, na to se můžu podívat
15:45 xstill ad pool, není to trochu blbý, že když vylezeš z těch 2MB tak to bude dělat bordel? chtělo by to minimálně detekovat, možná by se dalo i ten ephemeral buffer realokovat (pokud je thread-local)
15:46 xstill asi si ty tvoje patche natáhnu do branche, ať se mi v tom nedělá bordel, kdybys to předělával
15:48 CcxM2 joined #divine
17:52 xstill bez poolu je ntree brutálně pomalé, to bude ještě sranda si to naměřit
17:53 xstill (brutálně = cca 7x, i když teda jsem si uvědomil že mám zapnuté asserty tak)
17:56 xstill a teda na paměti je to docela vidět už na jednom vlákne poti původnímu poolu (ten novej jsem ještě nezkoušel)
18:01 xstill ta pomalost fakt byla asserty, bez nich je to +- stejně rychlé
18:01 xstill vlastně kecám, protože porovnávám na různých strojích (arke vs. laptop) a s jiným splitterem :-/, ale tak řádově je to stejné
18:02 xstill laptop by měl být trošku pomalejší ale splitter teď rychlejší
18:58 mornfall asserty jsou drahy
18:58 xstill jo, jen jsem nečekal, že tolik
19:02 xstill hm $ darcs apply -i tools_-fix-draw-_need-to-pass-in-an-allocator__.dpatch
19:02 xstill darcs: bug at src/Darcs/Patch/Depends.hs:249 compiled Jan 01 1970 00:00:01
19:02 xstill Failed to commute common patches:
19:02 xstill
19:03 xstill to je divný ne?
19:03 xstill zkusit apply na čistý upstream?
19:04 xstill nejde to ani na čistý
19:05 xstill mornfall: kdyžtak celé: http://pastebin.dqd.cz/GJJM/
19:06 xstill jinak odstranění poolu má docela velký efekt, tak bych to právě chtěl porovnat s tím novým alokátorem…
19:08 xstill dost velký = na polovinu při 3M stavů a 1 vláknu
19:10 mornfall xstill: jo, on je asi zkorumpovanej, musíš umazat zdvojený tečky na 80 sloupci
19:10 mornfall xstill: tzn. \.\.$ v názvech patchů
19:12 xstill a to se stane jak?
19:12 mornfall bug v mime encode, ono to je asi opravený ale v nixosu máme historickej darcs
19:12 mornfall nebo něco...
19:13 xstill hm, teď je ta chyba kratší
19:13 mornfall on nějak zalamuje řádky a v mailu nesmí být samostatně tečka na řádku protože SMTP
19:14 mornfall takže se zdvojí, jenže ono nejde poznat že to byla původně tečka jedna
19:14 xstill super…
19:15 mornfall takže pokud ti vyjde tečka na řádek musíš ji zakódovat do číselnýho escape, což darcs nedělal
19:16 xstill mornfall: pushni mi ty změny raději do antea:/home/xstill/DiVinE/pool-ephem
19:16 xstill aha jen bych ti musel dát práva
19:16 xstill už by to mohlo i jít
19:17 mornfall ani moc ne
19:17 mornfall aha
19:17 mornfall
19:17 mornfall máš je tam
19:18 mornfall fix na rssperst asi nechceš?
19:19 xstill dík, ten fix už jsem posílal vlastní
19:19 mornfall jo já teď dorazil z orchestru
19:20 mornfall ještě tam máš potenciálně dělení nulou
19:20 xstill hm
19:20 mornfall (povedlo se mi zacyklit initials() a umřelo mi to na SIGFPE což mě trochu překvapilo)
19:21 xstill hm, ono je to vlastně klidně možný, jen se nesmí nic vygenerovat do 1 sekundy
19:22 xstill tak já to opravím
19:22 xstill btw. co udělá divine pokud v llvm bitkódu dojde k dělení 0?
19:22 mornfall ono asi docela hrozí že ti to zdechne když si dáš do initials breakpoint a začneš krokovat -> sigfpe po první vteřině
19:22 xstill jo
19:23 mornfall vyrobí DivisionByZero
19:23 xstill aha tak dobrý
19:35 xstill hm, X250 má i verzi s HD displejem, ale ta cena…
19:37 xstill jako tu cenu, moc nechápu, když to porovnám s Yoga 12
19:38 xstill ale to je jedno, obojí je úplně mimo to co bych za to potenciálně chtěl utratit…
19:46 mornfall hm, mám naimplementovaný asi 2/3 alokace registrů, jestli mi to zejtra v sedm bude myslet možná to ve vlaku zvládnu nějak doklepat
19:46 xstill hm, až tak rychle to jde? To bych nečekal
19:53 mornfall ad buffer na ephemeral, ono pokud to přeleze 2M tak to buď znamená že máme extrémně velký stavy nebo že se jich tam cpe moc... a v druhým případě to bude taky dost pomalý
19:54 mornfall teď mě asi hlavně zajímá dopad na paměť, rychlost (a následně i velikost bufferů) můžem doladit pak
19:55 CcxM joined #divine
19:56 xstill ok
19:56 xstill proč by to bylo pomalý?
19:57 mornfall operace jsou lineární v počtu ephemeral objektů
19:58 mornfall (operace = ephemeralAllocate, ephemeralFree)
19:58 xstill aha
20:08 xstill no je to asi 2x pomalejší než nopool a pro malý počet stavů (0.5M) to bere zhruba stejně paměti
20:09 xstill jdu si nakrást nějaké pheme
20:26 spito mornfall: ty moje bricksový patche by měly jít bez problémů přijmout
20:31 mornfall xstill: hm, to že to je 2x pomalejší je dost podezřelý
20:32 mornfall hlavně když se vezme v potaz že alokace je normálně v LLVM možná procento času
20:32 mornfall a ephemeral objektů je tak 2-3 v podstatě furt
20:36 mornfall spito: máš strašlivě dlouhý řádky v popisu toho prvního patche
20:37 spito a vadí to?
20:37 mornfall jo :)
20:37 mornfall dlouhý popisy normálně zarovnáváme na 80 sloupců (plusminus)
20:37 mornfall gqap ve vim-u
20:38 spito sem myslel, že se to zarovná samo
20:38 mornfall záleží od editoru
20:39 spito a když už to budu opravovat - je ta "engliš" přijatelná?
20:39 mornfall (M-q v emacsu)
20:39 mornfall small code in between úplně nedává smysl
20:39 mornfall ale ani ne tak ingliš jako v principu
20:39 mornfall short delay?
20:40 spito by asi mohlo odpovídat
20:40 mornfall jinak to ujde ;-)
20:40 spito třeba jsem se i něco v labu naučil
20:42 xstill mornfall: tak podezřelý to je, ale raději si počkej na pořádné vysledky (= z pheme a ne z laptopu)
20:43 mornfall no, já jdu spát, online budu někdy zítra odpoledne
20:43 xstill ono ty výsledky hned taky nebudou
20:43 mornfall (ráno syncnu mail... teda ráno = kolem šestý)
20:43 xstill ale paměťově se to zdá být dobré (= lepší než nopool)
20:44 mornfall zatím dobrou :)
20:44 spito ať tě v noci neprápí rýmička
21:25 xstill jo tak rychlost ephemeral je celem v pořádku, jen něco jako 2% rozdíl, akorát teda nejrychlejší je to bez poolu…
21:25 xstill ale paměťově je to po 1.6M něco jako 169/141/133 b/s (old/none/new), takže to je asi dobré (pthread_rwlock, generic splitter)
21:26 xstill a já jdu taky spát
21:29 spito hehe, snad tě nic neutahalo :P
21:32 xstill dneska jdu spát preventivně :-D
23:32 spito mornfall: posláno znovu, snad se ti to bude líbit víc ;)

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