Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2013-11-05

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

All times shown according to UTC.

Time Nick Message
04:07 _ilbot joined #divine
04:07 Topic for #divine is now DIVINE: A Parallel LTL Model Checker (http://divine.fi.muni.cz) | http://irclog.perlgeek.de/divine/
09:15 spito joined #divine
09:25 mornfall záloha je na drátě, jak to jde?
09:29 xstill bude lepší instanciace
09:30 xstill a vůbec nevím proč by vlastně měla být exponenciální v počtu voleb komponent
09:31 mornfall :D
09:35 spito mornfall: my stejně automatujem :)
09:35 spito ale třeba u toho omylem i něco uděláme
10:21 mornfall no, až budeš omylem opravovat to std::thread, tak by bylo dobrý zvážit udělat to jinak než změnou alokace
10:21 mornfall že by se to třeba opravilo pořádně a poslalo upstream
10:21 mornfall (protože jak to je ti může std::thread zabít program i když ho máš jinak exception-safe...)
10:51 xstill mornfall: válí se mi tady nějaká patche tak jsem ti je poslal
10:51 xstill snad snad se to nerozbije
10:51 xstill možná to ještě zbuilduju
10:53 xstill hm potřeboval bych std::optional
11:13 mornfall spito: meh
11:15 spito já vím, nepřečetl jsem si irc
11:15 mornfall xstill: hm, proč ten batchmode?
11:15 spito počítal jsem totiž automat
11:15 mornfall xstill: supprted
11:15 xstill mornfall: protože nebudu muset mít samostatný executor který bude spouštět divine
11:16 xstill mám takovou ideu, že mu předhodím jako vstup do batchmode socket a on pojede
11:16 mornfall xstill: budeš místo toho psát skripty
11:16 mornfall xstill: to bude fungovat jen než začneš používat mpi
11:17 mornfall jestli ten soket hodíš bashu nebo divinu není zas takovej rozdíl mi přijde
11:17 mornfall common="bla bla bla"
11:17 mornfall divine verify $common ...
11:18 mornfall není zas takovej rozdíl ne? oproti tomu batch jazyku
11:20 xstill já měl nějakou ideu proč je to lepší
11:23 mornfall jinak to parsování komentářů tam máš nejspíš blbě, přijde mi že std::isspace( line[0] ) implikuje line[ 0 ] != '#'
11:25 mornfall a vůbec to neumí mezery (v cestách, názvech vlastností a tak)
12:50 xstill aha jasný já věděl že tam něco chybí
13:00 mornfall jen mi teda furt není jasný v čem to je lepší než bash :-)
13:16 spito mornfall: jsi plný elánu?
13:16 xstill já nevím vlastně v čem je to lepší
13:20 mornfall spito: ani ne, proč?
13:25 spito no, nevíme, co jak dokázat, že neexistuje gramatika LR(0), která by generovala jazyk L
13:26 spito L={a^n . b^m | m > n > 0}
13:30 mornfall spito: tak aspoň sprav ten std::thread když už kašleš na ostatní věci a pak se o tom můžem bavit :-)
13:33 spito mornfall: jak se výjimky propagují do rodičovskýho vlákna?
13:33 spito já bych to totiž udělal, ale nějak jsem na to nepřišel
13:34 mornfall tak, nejjednodušší je alokovat ve volajícím vlákně asi
13:35 mornfall druhá možnost je tu výjimku chytnout a nějak se domluvit s volajícím že to vlákno umřelo
13:42 spito http://llvm.org/bugs/show_bug.cgi?id=15638
13:43 xstill hm to první ti bude nevýhodný v libc++ pokud máš nějaký vláknový alokátor
13:43 xstill a to druhé nejde
13:44 mornfall jistě že jde
13:44 mornfall jen to není ani příjemný ani jednoduchý
13:45 xstill no musal bys pozdržet vracení z konstruktoru
13:47 mornfall jinak teda ten problém s vláknovým alokátorem uplně nevidim, může to mít nějaký malý dopad na rychlost ale nejspíš fakt jen hodně malý
13:48 xstill tak nebude to velký dopad, teda záleží jak moc se s tou strukturou dělá
13:53 spito mornfall: tak co teda - mám nějak opravit ten std::thread, nebo mám počkat, až to opraví v llvm?
13:54 mornfall spito: jistě že to máš opravit
13:54 mornfall xstill: záleží jen jak je velká, řekl bych
13:54 mornfall konstruktor bys měl teda volat v novém vlákně (placement new)
13:55 mornfall xstill: tzn. pokud je dostatečně malá a zapisuje se do ní, tak se může stát že alokátor ji hodí na stejnou cache line s něčím jiným
13:56 mornfall xstill: a bude to vadit
14:00 spito mornfall: alokovat tedy paměť ve vytvářejícím vlákně?
14:01 mornfall spito: jseš přece svéprávný (snad), nějak to vymysli :-P
14:03 spito jo, to jo, ale radši se zeptám, abych se o něco nepokoušel a tys mi pak neřekl, že to je na hovno
16:33 spito joined #divine
16:40 spito mornfall: http://pastebin.dqd.cz/Sfjo/
16:40 spito takhle by to šlo?
17:31 mornfall 14:54 (@ mornfall ) konstruktor bys měl teda volat v novém vlákně (placement new)
17:32 mornfall tohle bude fungovat ale upstream ti to asi nevezme
17:33 spito a chci to opravdu pushnout někam veřejně?
17:33 spito já si tím nejsem jistý
17:33 spito krom toho samotný konstruktor provádí alokaci, takže bych si tím moc nepomohl
17:34 mornfall konstruktor čeho?
17:34 spito __thread_struct
17:34 spito libcxx/src/thread.cpp
17:35 spito někde dole
17:35 mornfall hm, to je zase bordel
17:43 mornfall jo, bude to muset být takhle
17:43 mornfall a pointa cvičení je opravit to upstream
17:44 spito cvičení?
17:44 mornfall jo
17:52 spito no ale jakého cvičení?
17:52 mornfall toho že to opravujeme
17:52 spito a do divine to pushnout můžu?
17:53 mornfall to jistě taky
20:45 xstill super, 1732 warnings and 1 error generated.
20:45 xstill (ten error samozřejmě utekl)
20:48 spito :D
20:48 spito ale, že by se tě bál?
20:49 xstill asi, nectěl se nachat opravit
22:17 spito left #divine

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