Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2013-08-25

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

All times shown according to UTC.

Time Nick Message
06:25 xstill mornfall: no nevím co si představit pod tím, jako že bys dostal stream z toho handle?
06:26 xstill to máš nějak strašně moc změn v ntree...
06:35 xstill nějak univerzálně přistupovat k blob-like objektům -- jako třeba dostat n bytů od offsetu?
06:38 _ilbot joined #divine
06:38 Topic for #divine is now DiVinE: A Parallel LTL Model Checker (http://divine.fi.muni.cz) | http://irclog.perlgeek.de/divine/
06:46 _ilbot joined #divine
06:46 Topic for #divine is now DiVinE: A Parallel LTL Model Checker (http://divine.fi.muni.cz) | http://irclog.perlgeek.de/divine/
06:48 _ilbot joined #divine
06:48 Topic for #divine is now DiVinE: A Parallel LTL Model Checker (http://divine.fi.muni.cz) | http://irclog.perlgeek.de/divine/
06:53 _ilbot joined #divine
06:53 Topic for #divine is now DiVinE: A Parallel LTL Model Checker (http://divine.fi.muni.cz) | http://irclog.perlgeek.de/divine/
08:33 xstill mornfall: jak je na tom Milan s knihovnami pro llvm? Docela bych měl chuť pracovat na C++11 threadingu, pokud teda nechceš prioritně něco na NTree nebo aritmetickou kompresi.
10:05 mornfall xstill: Klidně se domluv s Milanem, má tam ty patche v mailing listu jinak nevím vůbec nic.
10:06 mornfall Co experimenty, nechat odležet?
10:06 mornfall xstill: Jinak teda někde v libstdc++ by mělo asi být lepidlo std::thread -> pthread který půjde použít.
10:07 mornfall xstill: Pokud jde o atomic, tak bych asi začal tím co měl Jirka pro tu tabulku.
10:07 xstill jo, o tom Jirkově atomicu vím
10:07 xstill na experimenty jsem nějak zapomněl...
10:18 mornfall :-)
10:18 mornfall ono to v zásadě nehoří
10:20 mornfall xstill: Proč držíš generator v ntreehashset.test.h v ThreadData?
10:20 xstill protože ho insertHinted potřebuje
10:20 mornfall Hm, zajímavý.
10:20 xstill hm, ty děláš něco s testý ntree?
10:20 xstill jsem se v nich zrovna hrabal...
10:20 mornfall :-)
10:21 mornfall jistě, protože jsem předělal rozhraní hashtabulek
10:21 mornfall tak se to celý komplet rozsypalo
10:21 xstill aj
10:21 xstill to budou konflikty
10:21 mornfall cos tam prováděl?
10:21 xstill jsem doplňoval testy, a trochu refaktorovat okolo okolo magie s ThreadData
10:22 xstill jsem to zaobalil pro testy
10:22 mornfall Nj. Já to budu muset udělat stejně jinak, protože takhle to je dost divočina.
10:23 xstill no můžu ti ten patch poslat, jsem to právě docela upravil, že to není divočina
10:23 xstill (ten test teda)
10:23 xstill jestli jsi myslel thread data obecně do toho jsem nehrabal
10:23 mornfall no, já bych hlavně potřeboval částečně aplikovat celou datovou strukturu na ThreadData
10:23 mornfall a chtěl bych aby výsledek měl STL rozhraní
10:24 xstill nechápu
10:24 mornfall set.withTD( td ).insert( item );
10:24 xstill jaj
10:24 xstill a to potřebuješ obecně nebo jen v testech
10:24 xstill ?
10:24 mornfall obecně :-)
10:25 mornfall mně se nelíbí že ty tabulky maj každá trochu jiný rozhraní
10:25 xstill no ale to co jsem udělal s testy by ti stejně mohlo pomoct abys to změnil na 1 místě místo na 5
10:25 mornfall však pošli a uvidíme
10:25 mornfall já už ty testy refaktoroval nezávisle nějak, otázka jak moc :-)
10:25 xstill wtf graylist
10:26 xstill když jsem byl ve švícarsku tak mě to negraylistovalo a teď když se vrátím domů tak zase jo
10:26 mornfall Švýcarsku :-)
10:27 mornfall ten greylist je ale solidní otrava
10:27 mornfall nemáš dynamickou IP?
10:27 xstill ne, doma máme statickou
10:27 xstill no poslal jsem ti to normálně
10:29 xstill ono teda se mu asi hlavně nelíbí, že já mu tvrdím, že jsem pegasus07.fi.muni.cz a přitom jsem mimo rozsahy muni a ještě se stěhuju...
10:30 mornfall jo tak :-)))
10:30 mornfall to je pak s podivem že to vůbec někdy dorazí
10:31 mornfall můj mailserver by tě s takovou asi poslal do háje
10:32 mornfall xstill: #232 si můžeš zavřít, pushnul jsem to
10:33 mornfall xstill: Ty testy vypadaj jako že sis hrál co jde s C++11 všechno udělat. ;-)
10:34 mornfall xstill: Já to mam lokálně tak, že mám pool, hasher, a dva generátory se sdíleným poolem jako proměnný instance TestNTreeHashSet...
10:46 mornfall xstill: Mohl bys poslat všechno co máš ve stromě a není v mainline? Nepushnul jsem všechno, zejména teda instanciaci, ale mohlo mi uniknout ještě něco.
10:47 mornfall Počkám co to teď udělá v hydře, jestli vůbec něco a pak pushnu tu instanciaci asi, až si ji teda konečně přečtu.
10:52 xstill jo pošlu ti to
10:53 mornfall dík
10:54 xstill jo ale s tím "tools: Add mising include for info.h in divine.cpp." ale bez "info: Split into separate file." se ti teda nic nenabuilduje
10:55 mornfall kruci :-)
10:56 mornfall Toho jsem si nevšim protože to má závislost na něčem co jsem nepushnul...
10:56 mornfall no to je jedno
10:56 mornfall Postavím si to lokálně a bude.
10:59 xstill hm, ono to může mít nějak závislost na instanciaci
11:00 mornfall Má. :)
11:00 mornfall Aspoň textově teda, nevim jestli sémanticky.
11:00 mornfall To je jedno.
11:01 xstill semanticky ne snad
11:12 mornfall xstill: INSTANCE_FILES_CNT by asi mělo být ADVANCED :-)
11:13 xstill jo to asi jo
11:13 mornfall (a možná INSTANCE_FILE_COUNT ... ani sám nevim)
11:15 mornfall já to upravim (jestli to ještě nemáš :-)
11:17 xstill nemám
11:20 mornfall Hm, nafouklo nám to libdivine-instances o dobrých 50 %... otázka je proč.
11:21 mornfall Zdá se že to obsahuje docela dost instancí který se do divine nezalinkujou.
11:21 mornfall (libdivine-instances 471M, divine 276M)
11:26 mornfall Bum. Tak uvidíme. :-)
11:26 mornfall Trochu se bojim co nám na to řeknou normální lidi.
11:26 mornfall Ale jinak dobrý. :-))
12:01 mornfall Hmm.
13:02 xstill :-D Normální lidi snad na divine nepracují ne?
13:02 xstill Ono s tou magií nemusí člověk vůbec přijít do styku
13:03 xstill to je docela zvláštní s těma instancema navíc, ještě se na to podívám
13:05 mornfall Někdy budu muset taky const-ifikovat Pool nebo něco.
13:05 mornfall Nebo ho rozdělit na dvě třídy.
13:05 mornfall Teď je to takový nedodělaný.
13:13 mornfall xstill: Skoro se mi zdá, že kdyby se trochu upravil splitHint, tak není potřeba aby NTreeHashSet používal cokoliv Blob-specific
13:14 xstill jak to myslíš?
13:14 xstill že by split hint dával přímo ty kousky?
13:15 mornfall Něco v tom smyslu.
13:15 mornfall Otázka co memory management.
13:16 mornfall Možná by stálo zabalit to jako coroutine.
13:16 mornfall +za to
13:16 xstill teď asi nechápu
13:18 mornfall Něco jako:
13:18 mornfall Hmm.
13:19 mornfall Tam je problém s (ko)rekurzí trochu.
13:19 mornfall Ještě si to musim rozmyslet.
13:19 mornfall Každopádně yield by mohl dostávat Blob i přesto že splitHint dostane něco jinýho.
13:20 mornfall Ale možná vim.
13:20 mornfall V podstatě bys vyrobil Splitter split( item );
13:20 mornfall Kterej by si interně pamatoval aktuální offset.
13:20 mornfall A ten split objekt si předával místo from/length do createChild.
13:21 mornfall split.next( yield ) by ti dalo Blob, from, length.
13:21 mornfall recurse, blob, from, length vlastně :-)
13:22 mornfall No, uvidíme.
13:22 mornfall V dalším běhu to možná tak udělám, teď se to pokusim dát dohromady s tím splitHint jak je.
13:23 xstill hm, nebo to můžeme rozmyslet v září na nějaké schůzi
13:23 xstill on ten splitHint není zrovna ideální tak jak je
13:23 mornfall Jo, to už není tak daleko. :-)
13:41 xstill hm, oni tam jsou instance které se liší manglovaným názvem ale demanglovaný je stejný
14:17 mornfall ... :-)))
14:17 mornfall to je docela dobrý...
15:28 mornfall xstill: Nefunguje GUI a většina buildů končí nedefinovanýma referencema.
15:28 xstill wtf
15:28 mornfall Ale jsou to dost divný reference, vždycky s unique_ptr...
15:29 mornfall /tmp/nix-build-divine-llvm-3.0.90+pre3954.drv-0/divine-3.0.90+pre3954/divine/instances/select.cpp:71: undefined reference to `std::unique_ptr<divine::algorithm::Algorithm, std::default_delete<divine::algorithm::Algorithm> > divine::instantiate::createInstance<divine::TypeList<divine::instantiate::algorithm::Simulate, divine::instantiate::generator::LLVM, divine::instantiate::transform::None, divine::instantiate::visitor::Shared, divine::instanti
15:29 xstill no to jsou instance
15:29 xstill ale jakto, že jsou nedefinovaný
15:29 xstill to nechápu
15:31 mornfall Ajo, to je return typ, já špatně parsuju špičatý závorky...
15:31 mornfall Už to dává smysl.
15:34 xstill divný je že těch instancí chybí málo, asi
15:34 mornfall Není to čistě chyba ve výpočtu perFile?
15:34 xstill nevím, neměla by být
15:34 xstill ale podívám se
15:36 xstill hm, ono to možná může některý vynechat sakra
15:36 mornfall Co se ti vlastně nezdá na std::ceil? :-)
15:36 mornfall Ale hlavně bych asi iteroval přes všechny a psal to do souboru modulo files.
15:37 mornfall (Resp. teda vyrobil std::set< Symbol > sym[files], rozházel to všechno a pak vyrobil soubory...)
15:38 xstill no ono má smysl se snažit držet stejné věci u sebe
15:39 mornfall Proč? :)
15:40 mornfall Já bych skoro tvrdil opak, aspoň pokud jde o chybové hlášky.
15:40 xstill kvůli tomu, že se generují jen potřebné includy
15:40 mornfall Jo tak.
15:41 mornfall A máš to lexikograficky seřazený?
15:41 xstill jo
15:43 xstill ještě je teda blbý "/nix/store/if62bg6a0g5kv2xqjk54hmpl5y0r8dzh-binutils-2.23.1/bin/ld: failed to set dynamic section sizes: Memory exhausted"
15:43 mornfall hm
15:44 xstill a na to GUI jsem zase zapomněl, že existuje
15:44 mornfall to ld je blbý dost ale
15:46 mornfall teoreticky by to mohl řešit gold
15:47 mornfall taky by aspoň trochu mohlo pomoct nemít tam ty duplicitní instance
15:47 mornfall možná
15:47 mornfall i když teda nevim
15:47 xstill hm, to je docela blbý protože gold je to další závislost
15:48 xstill a s těma instancema je to divný, protože v objdumpu vidím kód jen k jedné, ale nm mi dává 2 symboly
15:49 mornfall --reduce-memory-overheads
15:49 mornfall stojí za úvahu
15:50 xstill sahra, plnej disk
15:51 mornfall mě zase straší std::atomic< T > versus iterátory...
15:51 mornfall (iterátor musí mít T *operator->() ... a nějak nevim co s tím...)
15:52 mornfall v podstatě můžu vrátit adresu toho atomicu, ale moc se mi to nelíbí
15:54 xstill to je blbý no
16:00 mornfall ale zřejmě to tak dopadne
16:00 mornfall existuje nějaký zásadní důvod proč ve fetch() nulujeme tag?
16:02 mornfall nic nevidim, tak snad ne
16:08 xstill jp existuje
16:08 xstill MPI
16:08 xstill používá tag
16:09 xstill ad iterátor: nestačí ti const iterator?
16:09 xstill teda s tím tagem si nejsem úplně jistej jestli se něco stane
16:09 mornfall to je jedno, const_iterator potřebuje stejnej operátor
16:10 xstill jakto, nemá const T *operator->() ?
16:10 mornfall no má, ale to není moc rozdíl :)
16:10 mornfall furt potřebuješ adresu
16:10 mornfall i když ti caller slíbí že na ni nebude psát, furt je to tak trochu nedefinovaný
16:12 xstill no ale jak z operátor->() zjistím adresu, ten se použíje jen při přístupu do objektu ne?
16:13 mornfall no, on tu adresu musí vrátit
16:13 xstill aha a asi se dá explicitně zavolat
16:13 mornfall to taky
16:13 mornfall ale i kdyby se nedal
16:14 mornfall prostě tu adresu vrátit musí a v tý adrese se pak dělá member lookup
16:37 xstill zkus prosím pushnout ten patch co jsem poslal, pak už by neměly chybět instance
16:39 mornfall to je docela solidní hack ale :-P
16:41 xstill proč? Snažím se to rozdělit rovnoměrně, a ten rozdím musím někam dát
16:41 xstill jasně, šlo by to i líp
16:43 mornfall tak ono to + 0.5 dost vypadá jako že to byl pokus o to aby files * perFile >= instances...
16:44 mornfall jen to teda asi mělo být int perFile = sls.symbolSet().size() / files + 1
16:44 xstill hm, to by asi nakonec bylo lepší, mohl jsem tam dát ceil
16:44 mornfall no, kdybys tam dal celočíselné dělení tak to bude fungovat líp ;-)
16:45 mornfall ale ceil by asi taky zabralo (17:36 (@ mornfall ) Co se ti vlastně nezdá na std::ceil?)
17:33 xstill hm, https://divine.fi.muni.cz/hydra/build/2756795 hlásí, že build je selhaný ale nevidím v logu chybu
17:34 xstill a to ld není vůbec problém pokud je to bez -g
17:34 mornfall no to je jasný
17:34 mornfall ale stejně to není nějaká extra výhra :-)
17:38 mornfall ten timeout je nějaká zrada
17:46 mornfall ono to totiž asi timeoutuje na generování naru
17:47 xstill nedá se nějak vyházet duplikáty už při dělání libdivine-instances.a?
17:48 xstill ono to totiž generuje navíc prázdné symboly za select.cpp.o
17:57 mornfall hm, a těch skoro 200M jsou prázdné symboly?
17:57 mornfall to by byla docela pálka ne?
17:58 mornfall vyházet je moc nejde, to je jen archiv
17:58 mornfall tzn. balík .o souborů
17:58 mornfall který se můžou navzájem referencovat
17:59 mornfall každý použití symbolu se objeví v tabulce toho kterýho .o
18:01 mornfall divný je, že pár těch souborů má jen 340k
18:02 mornfall ale je možný že těch 200M je kód kterej je sdílenej přes všechny instance ale generuje se třeba 20x
18:02 mornfall (protože je to implementovaný v hlavičce)
18:03 mornfall a předtím se generoval jen cca 5-6x
18:05 mornfall xstill: možná chceš pomocí ld -r vyrobit divine-instances.o místo ar-em vyrobit libdivine-instances.a
18:08 xstill hm, to stojí za to zkusit pokud se k tomu dá cmake nějak rozumně přesvědčit
18:08 mornfall určitě dá :-)
18:09 xstill navíc teda suma velikostí instance-XX.cpp.o je asi o čtvrtinu méně než libdivine-instances.a
18:28 xstill hm, tak nevím jak to cmake nastavit, nezdá se že by to umělo nějak přes add_library
19:29 mornfall ten zbytek je index
19:29 mornfall add_library skoro určitě ne
19:31 mornfall jedině add_custom_command
19:37 xstill hm, to pak asi nemá smyls, protože v dokumentaci je, že custorm_command se spouští vždy
19:37 mornfall to platí jen když nemá OUTPUT
19:37 mornfall IMHO
19:38 mornfall unit testy se generujou custom_command-em, a ty tvoje instance nakonec taky :-)
19:39 mornfall i když tys to vlastně udělal jako POST_BUILD
19:40 xstill aha to byl custom_target
19:40 xstill tak nic
19:40 mornfall ale to funguje jen proto že ten isntances-generator #includuje soubory
19:40 mornfall instances*
19:50 xstill ono je teda otázka jestli to za to stojí, protože když na ty soubory poštvu ld -r ručně tak to bere tak 3/4 paměti co jinak bralo linkování divine
19:50 xstill a nevím jestli se něco nemůže rozbít tím, že to nebude statická knihovna
20:05 mornfall no, zrovna tady by se asi nemuselo
20:05 mornfall ale nevim no :-)
20:05 xstill uvidím, raději bych zjistil, proč jsou tam ty 2x zmanglované funkce
20:18 mornfall a není to jen chyba v c++filt? :)
20:39 mornfall hmm
20:39 mornfall on je to každopádně alias
20:39 mornfall určitě to není problém který to nafukuje
20:50 mornfall xstill: problém zmizí když řekneš -fabi-version=6 :-)
20:50 xstill co?
20:50 mornfall no duplicitní symboly
20:50 xstill ah
20:50 mornfall ono to je nejspíš jen pro nějakou kompatibilitu
20:50 mornfall ukazujou na stejnou adresu
20:51 xstill sakra, já jsem úplně mimo, toho jsem si nevšilm
20:52 xstill hm, jo no to souhlasí, podle manu mění ABIv6 argument packy
20:54 mornfall jo, IINS verze zmizí, zůstane jen IJNS ;-)

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