Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2017-02-25

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

All times shown according to UTC.

Time Nick Message
00:44 divine-buildbot Hey! build divine-nightly-debug #77 is complete: Success [finished]
02:48 ilbot3 joined #divine
02:48 Topic for #divine is now DIVINE | http://divine.fi.muni.cz | http://irclog.perlgeek.de/divine/
05:14 xlauko joined #divine
07:38 xstill hm, zbavil jsem se jednoho z těch invoke a to nepomohlo
07:39 xstill toho co je na tom deque se nejde zabvit tak z principu, protože unique_lock
07:44 mornfall asi to bude chtít odkrokovat, ta regrese není vůči -fno-exceptions ale proti pthreadům bez noexcept, kde nějaký invoke-y určitě taky byly
07:44 mornfall nebo prostě nějak vymyslet, je to hodně velká regrese
07:47 mornfall taky, kolik z těch 28 % je fifo-naive?
07:54 xstill je to regrese i proti noexcept a dost velká 1034 vs 402 s na pythii
07:57 mornfall a když říkáš noexcept myslíš -fno-exceptions?
07:58 xstill jo, myslel jsem proti -fno-exceptions
07:59 mornfall jistě, ale kdyby byla jen proti tomu tak se dá říct že mutex s výjimkama je hodně drahej, ale to není pravda
08:00 xstill jo to musím ještě vytvořit branch kde unpullnu ty noexcepty v pthreadech abych viděl jestli jsem regresi protit tomu opravil
08:07 mornfall na arke to bylo 9:20
08:08 xstill co?
08:08 mornfall fifo-naive s výjimkama
08:09 xstill aha, ok, pak je tam pořád něco špatně, protože to bylo víc jak 17 minut na pythii teď. Odkrokuju si ten cylkus
08:09 mornfall však právě
08:25 xstill hm, stepi by úplně nemuselo přepínat vlákna random
08:27 mornfall kdyby krokování nepřepínalo vlákna tak se bude pravidelně zasekávat na cyklech
08:29 xstill a teda threa ID asi moc nefunguje, minimálně ne to tom co už jsem jednou dal random
08:30 xstill *thread
08:31 mornfall jo to čeká až se yaqwsx probudí a vyrobí ty lidský tid-y
08:41 xstill poznámka pro budoucnost: malloc dělá interrupt, asi proto, že hrabe na dios config
08:59 xstill na tom enqueue cyklu jsou jen dva rozdíly, ten invoke v deque a počet registrů v operator new
09:11 xstill mornfall: thread ID zdá se dělá totéž co thread --random, bez toho se k tomu druhému cyklu smysluplně nedostanu. Nicméně jelikož kód je stejný tak mi to stejně příjde dost pointless
09:13 mornfall trace funguje
09:14 mornfall taky je mi celkem jedno jestli to budeš krokovat nebo číst bitkód nebo to vyčteš z orákula
09:33 xstill akorát nevím jak jsme naměřili těch 9 minut nebo došli k tomu, že za to můžou noexpty, protože když ty noexcepty unpullnu tak mi to pořád běží 17 minut na pythii
09:35 mornfall --instance 1 třeba
09:41 mornfall třeba jsou to dvě různý regrese, s prvníma noexcept pthreadama to běželo na arke 40 minut
09:43 xstill první noexcept pthready byly skutečně blbě
09:43 mornfall ten divbench co ti teď běží na arke bude mimo
09:45 xstill to mám radost teda, nicméně on je mimo vždycky, takže jediná možnost jak to dostat na rozumný data je pustit to na pheme 5-10x asi
09:46 mornfall arke se prostě používá, s tím musíš počítat... teď divbench sežral 50G já měl puštěnou verifikaci ~80G
09:56 yaqwsx mornfall: yaqwsx pracuje na probuzení.
10:30 xstill tohle je hrozně super:
10:30 xstill found 777240 states in 6:54, averaging 1873.7
10:30 xstill found 777240 states in 16:54, averaging 766.0
10:31 xstill stejný DIVINE, poslední moje verze s noexcept v pthreadech a tak
10:31 xstill jediný rozdíl je, že to první je s --threads 1
10:31 xstill krásně nám to škáluje
10:34 xstill to se pak nemůžu divit, že ty výsledky lítaj
10:41 xstill ne houby, to nebylo --threads 1, protože jsem to zadal až za ten bitkód
10:42 xstill ale i to je hrozně super, že člověk předá mainu parametr kterej se nepoužije a udělá to toto
10:43 xstill takže je to ještě horší, protože kdyby to fakt bylo paralelismem, tak se to alespoň dá spustit všechno jednovláknově
10:45 mornfall no, to je ale dost dobrej hint na to co je problém
10:46 xstill co? kolize objid?
10:46 mornfall doporučuju vytáhnout callgrind, jestli je veškerý nárůst ve srovnávání stavů tak to je asi jasný
10:47 xstill hm, callgrindovat něco co běží 20 minut zní jako hrozně super zážitek
10:49 mornfall ano (nebo se zkusit zamyslet a zjistit jestli se to tak třeba chová aj na menší instanci?)
10:49 mornfall je to, nakonec, parametrizovaný
10:54 mornfall nebo to udělej jak chceš, zajímá mě spíš výsledek než důvody proč to nešlo
10:58 xstill … jistě, je to parametrizovaný, dokonce i pro 8 se ten problém projeví, a mě už to celý začíná pěkně štvát, protože tu kdo ví jak dlouho koukám do bitkódu abych následně víceméně omylem zjistil, že je to nejspíš nějakej náhodnej bordel v interpretru
11:03 mornfall na to nevím co mám říct... když tě to tak štve tak to zabal a najdi si nějakou jinou práci
12:56 xstill
13:01 xstill mornfall: podle callgrindu se vm::heap::compare volalo 160 M krát v next verzi a 51 M krát v -fno-exceptions verzi. Jelikož halda je tvoje dílo, tak nevím co bych s tím mohl dělat. Reporty jsou v ~/repo/divine-testsuite-private/iv112/fifo.pkg/{next,noexcept}.callgrind, příslušné divine na pythia01:/var/obj/xstill-divine-{next,noexcept}/release
13:03 xstill aktuální výsledky z pheme jsou  --instance 2514869 --instance 2445842 --instance 2446104 --instance 2518269 v pořadí D4, D3, stub, -fno-exeptions. Ještě se opakují další běhy aby ta data vypadala alespoň trochu konzistentně.
13:28 mornfall zajímavý je, že to že výjimky a metadata jsou 'tvoje dílo' mi nezabránilo zjistit proč je to tak pomalý ... ale chápu, když nevíš tak nevíš, s tím nejde hnout, podívám se na to
20:21 xstill prostě nevím odkud bych začal, ten kód jsem neviděl a jen velmi povrchně tuším co se tam asi tak děje. Přišel jsi na něco?
20:23 mornfall jo, že v tom je bordel a není to ani objid ani počet srovnání
20:23 mornfall ty navíc volání co nejsou VFS (který v jednom je a v druhým není...) jsou rekurzivní
20:25 xstill jako, že se musí porovnat větší kus haldy pomocí compare místo pomocí hashů?
20:26 xstill a tím, že to není objid myslíš, že to nejsou kolize?
20:26 mornfall compare žádný hashe nepoužívá, to se volá jen když hashe sedí
20:27 mornfall objid kolize tam nejsou žádný ani v jednom
20:29 xstill a ta rekurzivní volání se berou kde? je ta halda větší?
20:30 mornfall zatím to tak nevypadá, když jsem vyhodil vfs tak jsou zhruba stejně velký
20:30 mornfall ale rozdíl tam skoro všechen furt je
20:32 mornfall nakreslit si je moc nemůžu protože v tom noexcept-u chybí nějaký typy a debugnode to úplně nedává
20:35 xstill mám i ne -fno-exceptions divine který je výrazně rychlejší než ten můj next
20:37 xstill /var/obj/xstill-divine-sym/… jsou tam nějaké jiné změny co jsem měl rozdělané, ale ne nějaké zásadní. A je dost možné, že v upstream nextu ten problém také není
20:37 xstill nebo myslíš ten s noexcept v pthreads?
20:38 mornfall build co se jmenoval noexcept a který je rychlejší než ten co se jmenoval next
20:41 xstill jo to je ten co neumí výjimky
23:31 yaqwsx Jak je možné, že mi vznikne při pullu konflik na souboru (konkrétně heap.hpp), na který jsem ani nesáhl?

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