Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2013-05-28

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

All times shown according to UTC.

Time Nick Message
07:40 mornfall brýtro
07:40 xstill brý ráno
07:41 mornfall asi nikam nejdu
07:41 mornfall tak bych mohl třeba programovat
07:43 xstill já řeším záhadu proč divine dostane bad_alloc při realokaci z 4G na 8G položek v NTree
07:43 mornfall jako vždycky?
07:44 mornfall dej si breakpoint na __cxa_throw
07:44 xstill tak ono to trvá 3 hodiny se tam dostat ale jo už jse mi to stalo 3x ze 3 zpuštění
07:44 xstill no já jsem teprve teď udělal release s debug info
07:44 mornfall uvidíš ten stack předtím než ho C++ unwindne
07:45 xstill ok to se dává pomocí rbreak?
07:46 mornfall stačí break
07:46 mornfall ten symbol není mangled
07:46 xstill aha
08:02 xstill nastává to ale jen při resize, což je divné
08:03 xstill teda při předalokaci to nenastává
08:08 xstill otrava je, že to trvá tak dlouho se tam dostat
08:12 mornfall jo, no
09:06 mornfall hm, já asi zejtra stejně musim přijít na devátou nebo tak, abych mohl dořešit cesťák
09:28 mornfall definitions.h: 6 spustitelných řádek, 279 funkcí :-)))
09:39 mornfall hmm, dost by pomohlo mít overcommit_ratio víc než 50 když člověk nastaví overcommit_memory na 2 :D
09:39 xstill mornfall: ok tak já zítra budu v labu
09:40 xstill co že je s tím definitions?
09:40 xstill co ti ten overcommit udělal?
09:40 xstill já mám ratio asi na 90
09:42 mornfall no nic, ale já nemam swap :)
09:43 xstill ajo ty máš ssh
09:43 mornfall ssd jo
10:16 mornfall tak jsem spočítal, že bych na to klidně swapovat mohl
10:17 mornfall za půl roku jsem projel zhruba jedno procento životnosti
10:17 xstill fakt? To je celkem dobrý, na to že na tom kompiluješ a tak
10:18 xstill co to máš za SSD?
10:18 mornfall má to 2.6T zápisů
10:18 mornfall samsung 840
10:18 mornfall TB
10:18 mornfall to je něco přes 100GB za týden
10:20 xstill zajímavé
10:21 xstill co je to ten LCOV?
10:22 mornfall klikni si v záhlaví toho http://divine.fi.muni.cz/~xrockai/lvmtests.html na některý "lcov"
10:29 xstill aha takže uvidím jak mi testy nepokrývají funkcionalitu...
10:29 mornfall přesně tak :-)
10:30 mornfall a taky co je jak moc mrtvý
10:30 mornfall třeba takový divine/dve je pokrytý úplně vzorově :-)
10:31 mornfall ale teda agregujeme to ze všech testů, a ty funkční maj velký pokrytí, jen malou specifičnost
10:33 xstill to taky nebude jednoduchý zjistit jaký to pokrytí vlastně je...
10:33 xstill může být zajímavé vědět jak to lcov dělá
10:34 mornfall -fprofile-arcs
10:35 mornfall to dělá v podstatě gcc, lcov ty data jen namaluje
10:36 mornfall ono to teoreticky umí profile-directed optimalizaci :-)
10:38 xstill a to je co?
10:38 mornfall no, že ti to spočítá pravděpodobnosti na branch instrukcích
10:41 xstill aha, zajímavé
10:48 spito joined #divine
11:26 xstill hmm, tak to __cxa_throw jsem nechytnul
11:27 mornfall to je dost blbý
11:29 xstill a když se pokusím v gdb ve volání mallocu vypsat velikost tak dostanu Unhandled dwarf expression opcode 0xf3
11:30 mornfall a máš stack?
11:30 xstill spito: jak velkej má být řádek s rowIndex = 16? Neměl jsem žádné -i
11:30 xstill mám stack
11:30 xstill lehlo to při alokaci vektoru
11:30 xstill dostalo to NULL ze scalable_malloc
11:31 xstill ale nevím o kolik se pokoušel
11:31 mornfall a nedokážeš vyskákat nahoru?
11:31 xstill ale jo
11:31 xstill 2^34 položek
11:32 mornfall tam by mělo být vidět o co jde
11:32 xstill to je moc ale
11:32 xstill mělo tam být 2^33
11:32 xstill divné
11:32 mornfall to je furt jen 16G
11:32 xstill to je v položkách tedy * 16
11:32 mornfall jo, to už je dost :-)
11:33 xstill to znamená, že jsem už měl 200GB a chtěl jsem dalších 256GB
11:33 xstill to dává smysl, že jsem je nedostal
11:33 mornfall to už je víc než je tam ramky
11:33 xstill jo no, alespoň nějká ochrana tam funguje
11:33 xstill otázka je proč se to zvětšilo tolik
11:34 spito -i je 19
11:35 spito začínáš na řádku 1
11:37 xstill spito: co se stane, když se insert vrát s NoSpace? To se ještě neproved a bude se opakovat?
11:37 spito jop
11:37 spito se koukni na insertHinted
11:37 spito ten se pak rozhodne, že se zkusí zvětšit
11:38 spito a pak opakuje vložení
11:38 xstill myslím, že ten kvadratic probing nedokázal doskákat k volnému místu
11:39 xstill a tak se to zvětšilo znova
11:39 spito to je možné pro 32 bitový hash
11:39 xstill jo no
11:39 spito já ho tam upravím
11:39 xstill co?
11:39 spito resp. dám tam spooky hash
11:39 spito ten umí 64 bitů
11:39 xstill to by bylo asi nejlepší
11:40 spito však mi to mornfall říká už delší dobu
11:40 xstill budu muset jen vymyslet jak to udělat s tím hashem uloženým v NTree, bych se ho nejraději zbavil...
11:40 xstill uvidím
11:41 mornfall spito: rovnou udělej hash_t 128b
11:41 mornfall a explicitně z toho vytahuj poloviny
11:41 mornfall jinou pro ownera a jinou pro tabulky
11:41 xstill mornfall: jko, že uložíš do tabulky jen 64b ale
11:42 xstill protože jinak budeme plýtvat místem
11:42 mornfall však jasně
11:42 xstill ok
11:43 spito kde se rozhoduje o vlastníkovi?
11:43 spito v edge?
11:43 xstill store
11:43 xstill má funkci owner
11:43 spito jo, ale kde se s tím pak pracuje?
11:43 spito (nevidím divajn)
11:43 xstill ve visitoru, v CE a tak
11:43 spito (jsem slepý na korporátních pc)
11:44 xstill spito: https://divine.fi.muni.cz/trac/browser
11:44 spito áááh....to je hezký :)
11:44 spito ale víš jak....měl bych pracovat
11:45 spito krom toho tohle je přísně zakázaný
11:45 spito na kecání je možné používat pouze IBM Lotus
11:45 mornfall spito: korporace tě miluje a chrání tě
11:46 mornfall a ty jí takhle oplácíš
11:46 spito no....a to mi ještě zvedli plat...
11:46 mornfall to s náma budeš moct chodit jíst :-P :-)
11:47 spito nenene, já musim šetřit
11:47 mornfall na myši?
11:47 spito a škudlit a vůbec....mým cílem je být jako strýček skrblík
11:47 spito tzn pro nalezení desetníku uspořádat mega pátrací akci za několik mega :D
11:47 xstill spito: co kdybych dočasně znásilnil index() tak aby hash posunul vlevo pokud je tabulka moc velká?
11:48 spito xstill: dočasně si pro mě za mě uprav cokoliv
11:48 mornfall já myslim že to je zbytečný
11:49 xstill ale já chci aby ten model doběhl ;-)
11:49 xstill a ono to tam zdá se neproskáče...
11:49 mornfall tak spito zejtra nakluše hezky na devátou a než se rozejdem tak to bude hotový ;-)
11:50 spito xstill: nebo můžeš posunout konstantu 512 na třeba několikanásobek
11:50 spito :P
11:50 xstill co dělá 512? resize trigger?
11:50 mornfall j
11:50 spito to se taky musí upravit
11:50 xHire joined #divine
11:51 xstill no problém je, že já to musím rezizovat, ale trochu to potáhnu na větší load
11:53 mornfall ono když se ta tabulka zaplní na 100% tak ji zvětší libovolnej maxcollision...
11:54 xstill spito: dokážu nějak spočítat počet binárních 1?
11:54 xstill mornfall: to bych se ale nedočkal
11:54 mornfall you can do it!
11:55 spito xstill: http://graphics.stanford.edu/~seander/bithacks.html
11:55 mornfall xstill: bys měl radši vyřešit statistiky a prealokaci s ntree :-)
11:56 mornfall to by mělo výsledek nejen že ti doběhne model ale bude z toho aj užitek :-P
11:56 xstill spito: jsem měl na mysli, jestli už jsi to třeba v divine nenaprogramoval
11:56 xstill mornfall: i na to dojde
11:58 mornfall no, jen je škoda to hackovat celej den abys to pak stejně zahodil
11:58 xstill tak já to nebudu hackovat celej den, žejo
11:58 mornfall no, už jsou dvě :-)
11:58 mornfall vyšíváš na tom přes 4 hodiny :D
11:58 xstill to s tím nijak nesouvisí
11:58 xstill no ne
11:59 xstill to to jen běželo než to spadlo
11:59 xstill jsem se mezi tím snažil učit logiku a tak
12:00 mornfall tak jo no
12:01 xstill a už se to kompiluje s modifikovaným indexem
12:03 mornfall ale ono ti to stejně nepomůže, ta pravděpodobnost kolize stejné délky je úplně stejná
12:03 mornfall ať budeš ty bity permutovat jakkoliv
12:05 mornfall ta tabulka má efektivní load 100
12:08 mornfall spíš by mohlo pomoct přidat tam kubickej člen
12:12 xstill pomůže, protože hash bude větší, takže budu plnit obě půlky tabulky
12:14 mornfall hm, pravda, první probe je lichej
12:14 mornfall (protože lineární start)
12:18 xstill tak jedem
12:18 xstill já mám teď dilema jesli se učit, nebo dělat na divine...
12:19 mornfall :-)))
12:19 mornfall that's life for you
12:19 mornfall já mam dilema jestli něco dělat
12:20 xstill :-D
12:20 xstill hm, teď dosahuju load 85% to jsem možná přehnal...
12:20 xstill ale to je jedno
12:20 xstill nechám to běžet
12:22 mornfall to by ale znamenalo že jsme někde udělali fundamentální chybu :-)
12:23 xstill co? proč?
12:23 xstill jsem zvětšil délku collision-chainu
12:23 mornfall jo aha
12:23 xstill 2x
12:23 mornfall tak to jo
12:24 xstill nechci aby to došlo na 5G položek a znovu se začalo zvětšovat...
12:34 xstill spito: sharedhashset asi neví kolik je v něm položek, že?
12:34 mornfall neví a ani moc nemůže vědět
12:34 mornfall bude mít odhad, někdy, až se k tomu spito dostane
12:35 xstill pak asi nepůjde rozumně udělat load statistiky pro spodní tabulky NTree
12:35 xstill jen jejich velikost
12:35 spito můžeš si to počítat per-thread
12:35 spito a ve statistikách sečíst
12:35 xstill musal bych procpat stistiky do NTree, což se mi nechce
12:35 mornfall to budeš muset tak jako tak ne?
12:36 xstill store totiž neví kolik toho bylo vloženo
12:36 xstill no pokud chci jen vědět jak jsou ty tabulky velký tak mi stačí upravit NTreeStore
12:37 xstill i když časem to tam asi stejně procpu, uvidím
12:53 xstill chtělo by to vymyslet ty statistiky nějak líp
12:56 mornfall chtělo, ale jak?
12:56 xstill to ještě nevím
13:01 mornfall to je takovej ten mrzutej aspekt, asi jako logování
13:03 mornfall a je to navíc drahý, takže chceš mít možnost ten kód vykompilovat pryč
13:03 mornfall to čeho se chceš zbavit je počítám ten typovej parametr
13:04 xstill to není nutný, no já bych chtěl mít statistiky závislé na tom jakej je tam store, ale přidávat tam další parametr fakt není rozumný
13:04 xstill ten typovej parametr co tam je ted až tak nevadí
13:05 mornfall no, to můžeš úplně v klidu řešit runtime
13:05 mornfall jde čistě o to nějakej kus toho nevypsat, v podstatě
13:05 mornfall jen teda z hlediska dalšího zpracování těch statistik je asi lepší aby byl ten formát fixní
13:06 xstill hmm, to mě nenapadlo
13:07 mornfall (navíc tam budou prostě nuly teda)
13:08 xstill hm, no ale jak chceš potom řešit NTree, to ti tam přidá další řádky které tam jinak budou 0
13:08 mornfall jo
13:08 mornfall jak jinak?
13:09 xstill jako, že tam budeš mít nulové řádky pokud to nebude NTree
13:09 mornfall jo
13:09 mornfall to ničemu nevadí
13:09 mornfall případně je v interaktivním výstupu schováš
13:09 xstill není to přehledné
13:09 xstill jako v curses?
13:09 mornfall ne, jako to co vypisuješ na obrazovku
13:09 mornfall on teda ten výstup do souboru jak je taky moc dobře nefunguje
13:10 mornfall ale to se někdy vyřeší, snad
13:10 xstill ono jde statistiky dávat do souboru?
13:10 mornfall ... :-)
13:10 mornfall jo, jen jsou bohužel dost osekané, je tam jen ta ipcfrontová matice
13:11 mornfall ale kdyby se vylepšil formát tak se tam může dát všechno a zpracování by bylo furt jednoduchý
13:11 mornfall teď to generuje 3D data pro gnuplot
13:12 xstill :-D
13:15 mornfall ono je taky otázka co bys chtěl aby bylo v těch statistikách přehledný :-)
13:17 mornfall momentálně musíš stejně docela přesně vědět jak to uvnitř funguje abys z toho cokoliv poznal
13:22 xstill no právě, jako kdo má tušit, že když je zapnutý shared, tak v počtu prvků v tabulce je třeba koukat na součet a ve velikosti na údaj 1 vlákna
13:23 mornfall no, potíž tady trochu nastává v tom, že není jasný k čemu by ty statistiky měli uživateli sloužit
13:23 mornfall pro nás je to užitečný, ale jinak?
13:24 mornfall uživatele můžou zajímat tak zhruba 3 čísla dohromady, souhrnná délka front, počet uložených stavů a zabraná paměť
13:24 spito mornfall: může s vyplazeným jazykem sledovat, jak to jede
13:24 xstill možná to chce nějaký uživatelský statistiky...
13:25 xstill s tím co jsi říkal
13:25 mornfall jo to by určitě bylo fajn
13:25 mornfall a není to ani těžký udělat
13:27 mornfall určitě ho ale nebude zajímat jak jsou využitý ntree tabulky aniž by věděl co je ntree
13:27 xstill to ho asi fakt zajímat nebude... a ani by nemělo
13:27 mornfall a to že existujou nebo neexistujou IPC fronty a kolik toho ve který je jakbysmet
13:28 mornfall může tím leda tak dělat dojem na kolemjdoucí :-))
14:51 mornfall http://divine.fi.muni.cz/hydra/build/1495955/download/1/lcov-report/divine/toolkit/ntreehashset.h.gcov.html
14:51 mornfall xstill: ty první dva if-y v equal jsou zajímavý
15:49 xstill mornfall: ono to dává smysl, když téměř neděláš fetch, ten equal( Root, Root ) se volá v podstatě jen v insert
15:49 xstill proč některé return řákdy nemají počet volání?
15:51 xstill otázka potom je, jestli mají smysl, zvlášť ten druhý
15:51 xstill ten se totiž musí z principu nevykonat, když se to volá z tabulky, a jinak fetch podle rootu je blbost...]
15:52 xstill hm on ani ten první nemá velký smysl
15:52 xstill mornfall: to je vyhodnocené z běhu functional testů?
15:53 xstill tam je celkem minimum větších modelů, kde by komrese měla smysl
15:56 xstill má to dost špatný pokrytí funkcí...
16:01 mornfall functional a unit
16:02 xstill dá se to nějak explicitně naměřit mimo testy
16:02 xstill ?
16:03 mornfall určitě, ale budeš si to muset naštelovat
16:03 mornfall -DPROFILE=ON
16:03 mornfall man lcov
16:03 mornfall :-)
16:03 xstill aha
16:03 mornfall případně nastudovat cmake/with-lcov.sh (_build/with-lcov)
16:03 xstill tak někdy
16:03 xstill po zkouškách
16:04 mornfall ale jako neřekl bych že velikost modelu v tomhle dělá moc velkej rozdíl
16:04 xstill no v tom equal ne
16:05 xstill ty ify bych snad fakt vyhodil
16:06 mornfall to pokrytí funkcí je nízký proto, že jsou instance který sice vyrobíme ale nikdy nespustíme
16:06 mornfall nejspíš teda
16:07 xstill to pokrytí funkcí rozlišuje instance?
16:07 mornfall vidíš tam 235 funkcí? :)
16:07 xstill ne
16:07 mornfall já taky ne
16:07 xstill hm fairness má pokrytí 0
16:07 mornfall asi je to dobře otestovaný :)
16:09 xstill na tohle se dá nějak proklikat od každého debug buildu?
16:10 mornfall v podstatě
16:10 mornfall http://divine.fi.muni.cz/status.html -> číslo -> "code coverage analysis report"
16:11 mornfall http://divine.fi.muni.cz/hydra/build/1495955/download/1/lcov-report/divine/toolkit/ntreehashset.h.func.html
16:12 xstill jo
16:14 xstill je to dobrá věc
16:16 xstill :-D definitions.h má 4 volané řádky
16:16 xstill a 2 nevolané
16:16 xstill zbytek je zmizí při kompilaci
16:17 mornfall a 279 fcí, jo, to jsem si všiml už včera :)
16:19 xstill v compression buildu dokonce 549, to by mě zajímalo kolik to bude ve full. Ale ten neprošel
16:20 mornfall on ještě projde, podívej se na timestampy
16:21 xstill neprojde, tam je ta chyba v MAPu
16:21 xstill na to se taky musím podívat
16:21 mornfall to nevadí
16:23 mornfall hm, nevadilo by, kdyby with-lcov fungoval :D
16:24 xstill co?
16:24 mornfall no že testy neprojdou, lcov se generuje aj tak
16:25 mornfall resp. generoval by se, kdyby with-lcov neumřelo na tom eval-u
16:25 xstill aha
16:25 mornfall mělo by tam být || status=$? a na konci exit $status nebo tak něco
16:31 mornfall xstill: umíš vyrábět balíčky na archu? :)
16:32 xstill vyrobil jsem asi tak 2 haskellový tím, že jsem zkopíroval jinej, ale nebráním se tomu se to naučit...
16:33 mornfall no, ono to má ještě jeden háček :-))
16:33 xstill chce to virtuálku?
16:33 mornfall nebylo by to zlý, no :)
16:33 mornfall ale je s tím docela práce
16:34 xstill časem...
16:34 mornfall jen mě to tak napadlo, že bergfi má arch
16:34 xstill kdo?
16:34 mornfall no ten s tím jak neumí přeložit divine
16:34 mornfall viz trac
16:34 xstill ten s gcc 4.8?
16:35 mornfall no on to nezvládá ani clangem
16:35 xstill to normálně na archu dělám
16:35 xstill mrknu na to
16:35 mornfall je možný že má jen 2G RAM nebo něco takovýho
16:35 mornfall uvidíme až se zase ozve
16:36 xstill vypadá to tak
16:37 mornfall je pravda že rok dozadu jsem měl taky jen 2G
16:37 xstill ta virtuálka se musí automaticky instalovat?
16:38 mornfall no, debian a fedora se "instalují" tak že se rozbalí balíky
16:38 mornfall je tam nějakej perlovej solver na závislosti
16:38 xstill no arch poněkud nemá instalátor
16:38 mornfall takže to prostě stáhne rpmka/deby, vyrobí image, tam to natvrdo rozbalí do filesystému a pustí dpkg/rpm tak aby z toho vznikl použitelnej image
16:39 mornfall zejména to nepouští anacondu :-)
16:39 mornfall to by byl asi podobnej zážitek jak instalace windows
16:39 xstill :-)
16:40 mornfall v nixpkgs checkoutu to je v pkgs/build-support/vm
16:41 mornfall tam jsou expressiony který vezmou package index z kterýho vyrobí nix expression co stahuje balíky z netu, a nějaký skripty co vykoumaj který balíky stáhnout a jak z nich vyrobit image
16:42 mornfall já jdu zkusit build na debian 7, to vyšlo před měsícem a nemá to llvm 3.2... to je taky systém
16:42 xstill kde je ten pkgs/build-support/vm?
16:42 mornfall nixpkgs
16:43 mornfall https://github.com/mornfall/nixpkgs
16:44 xstill dík
16:45 xstill sakra mainline potřebuje nějak moc paměti
16:54 xstill s archem je teda ještě ten problém, že před buildem budeš muset udělat update, jinak se ti může docela lechce stát, že nebudeš binárně kompatibilní nebo nebudeš mít návaznosti. A tím pádem bys taky měl previdelně rebuildovat i podporované release verze.
16:57 spito joined #divine
17:00 mornfall no, to tak docela nemůžeš, úplně to popírá ideu že ten build jde udělat dvakrát se stejným výsledkem
17:01 mornfall hm, z archlinux.org: With lvm2 2.02.98-3, we now utilize lvmetad to activate LVM volumes automatically. This implies the following changes:
17:01 mornfall :D
17:02 xstill no jenže arch zase popírá zpětnou kopatibilitu, když by zírta vyšla nová glibc tak se všechny balíčky musejí překompilovat na ní a tak. Pokud je něco nahrazené novou verzí tak ta stará už prostě neni...
17:02 xstill co je na tom vtipného?
17:02 mornfall že lvmetad jsem napsal já :-)
17:02 xstill aha
17:02 mornfall A jako není to production ready teda.
17:03 mornfall Takže arch maže starý buildy ze serverů, i v "podporovaných" releasech?
17:03 xstill tak nevím jestli je přímo mažou, ale dostat se ke starým balíčků není úpně přímočaré
17:04 mornfall Nemá smysl dělat v NIXu buildy pokud to nejde udělat 2x to stejný.
17:04 xstill a není tam žádná garance že to bude fungovat
17:04 xstill (ty starší verze v novém systému)
17:04 mornfall To není ani u tý aktuální verze.
17:04 xstill tam je to trochu lepší
17:04 mornfall Ale ty instaluješ celej systém z konzistentní sady, žejo.
17:04 mornfall A ta konzistentní sada byla někdy aktuální.
17:05 xstill jo ale divine není bez závislostí
17:05 xstill a ty přestanou být aktuální
17:05 mornfall Jakože divine přestane být přeložitelný s danýma verzema?
17:06 xstill no spíš jsem myslel runtime závislosti
17:06 xstill překlat je náš problém, balíček je binární
17:06 mornfall Jo že divine nepůjde spustit na novější verzi archu.
17:06 xstill jo no
17:07 mornfall Takže to vlastně znamená, že arch nemá binární balíky, a nemá ani smysl je vyrábět pak. :-)
17:07 mornfall Má jen nějakou interní build cache.
17:07 xstill v podstatě to je build cache no
17:08 mornfall Ale binární balík jako takový prostě nedává smysl.
17:08 mornfall Protože neobsahuje popis závislostí.
17:08 xstill obsahuje popis závislostí
17:08 xstill ale pokud jsou staré tak ho prostě nenainstaluješ
17:08 mornfall No, kdyby obsahoval tak se nerozbije.
17:08 xstill on nepude nainstalovat spíš
17:09 mornfall Tak v releasu se to nemění tak často?
17:09 xstill což se občas stává, třeba když se aktualizuje ghc
17:09 mornfall ghc nás úplně nebolí
17:09 xstill záleží, nevím jak moc máme závislostí...
17:10 xstill to ghc byl jen příklad
17:10 mornfall No, libstdc++.
17:10 mornfall A glibc.
17:11 xstill tak libstdc++ se ti mění s gcc ne? To znamená prakticky kdykoli vyjde nová verze tak to máš tak do 14 dní v archu
17:11 xstill a glibc se teda tak často nemění
17:11 mornfall no, pokud se nezmění ABI v gcc tak upgrade libstdc++ snad ničemu nevadí?
17:11 mornfall stejně tak glibc
17:12 mornfall na glibc 2.17 pustíš aplikace který jsou linkovaný s 2.13 úplně v klidu
17:12 xstill neměl by no
17:12 xstill asi máš pravdu
17:12 mornfall GUI je trochu složitější, ale to nás nemusí tak moc bolet
17:12 xstill problém bude spíš s llvm, předpokládám, že není staticky likovaný...
17:13 mornfall llvm ani jinak než staticky linkovat nejde :D
17:13 xstill ok, pak je to v pohodě
17:13 xstill proč to nejde?
17:13 mornfall možná jde, když tomu nějak vnutíš aby vyrobil .so
17:14 mornfall ale normální llvm buildy obsahujou jen statický knihovny
17:14 xstill jo ale podstatný je, že to teda není závislost, clang je potom optional
17:14 mornfall no, clang se hlavně volá jako program
17:14 xstill no právě
17:14 mornfall takže pokud ho jde spustit tak to stačí :)
17:15 xstill hej proč mi na build mainline nestačí 5GB volné paměti...
17:15 mornfall to nevim
17:16 xstill jsem měnil jen statistiky
17:18 xstill no jako poskytnout divine PKGBUILD, případně i do AURu by problém asi nebyl vůbec. Dělat vlastní binárky bude potřeba rozmyslet.
17:19 xstill teda do AURu jen release
17:20 mornfall otázka je jestli nezabijeme tu jejich buildfarmu :-)
17:20 xstill AUR je jen source, to si builduje každý sám, je to user repository
17:21 mornfall zajímavé
17:21 mornfall já měl za to že v podstatě všechno je v AURu
17:22 xstill arch má oficiální repozitáře (asi 3 + testing) ty jsou nějak kontrolované, do AURu může dát kdo chce co chce https://wiki.archlinux.org/index.php/AUR
17:22 xstill a je tam toho strašně moc v různé kvalitě
17:23 xstill a musíš si doinstalovat AUR manager pokud to chceš rozumně používat
17:23 xstill (což nemusí být úplně triviální pokud chceš AUR manager který je jen v AURu :-D)
17:24 mornfall vypadá to na docela solidní indickej bazar
17:24 xstill to úpně nevím co si pod tím představit
17:25 mornfall nezřízenej chaos
17:25 xstill docela jo
17:25 xstill ale má to furt tu výhodu, že ten program dokážeš čistě odinstalovat
17:26 xstill (pokud nedělá nějakou prasečinu při buildu, ale ten je asi v chrootu)
17:31 mornfall a v postinstall skriptu
17:33 xstill tak v podstatě AUR je pro to aby sis ten PKGBUILD nemusal psát sám, musíš věřit autorovi, nebo si PKGBUILD přečíst, nebývá dlouhý
17:33 mornfall no to jo, já tim myslel že se stává dost často že postinstall udělá nějakou nezvratnou operaci
17:34 mornfall s dobrým úmyslem
17:34 mornfall nic, jdu sehnat večeři
17:34 mornfall bbl
17:51 xstill teď jsem se naštval, ono to zase na té auře zdechlo
18:00 mornfall hele kdybys náhodou chtěl provolávat statistiky do tabulek, tak bys mohl rovnou trackovat aj průměrnou délku kolize ;-)
18:02 xstill momentálně musím zjisti proč mi stoupla doba kompilace a spotřeba paměti tak 4x
18:02 xstill a asi bych navrhoval nějak předěla vypisování statistik
18:06 mornfall jo, k tomu kódu co tam je teď žádnej citovej vztah nemam :-)
18:07 xstill statistiky vypisuje samostatné vlákno, že?
18:07 mornfall j
18:07 mornfall je tam někde mutex protože stdio není threadsafe
18:07 mornfall (asi :-)
18:08 spito na linuxu není thread safe
18:08 spito na widlích je
18:09 mornfall to nevim co si pod tím představit :-)
18:10 spito výpis do stdout
18:10 mornfall na jaký úrovni?
18:10 mornfall jakože std::streambuf?
18:12 mornfall bych řekl že streambuf je na windows ten stejnej
18:23 xstill hej když se do TrackStatistics::label() dá text delší než 10 znaků tak to přeteče a v podstatě se zacyklí ;-)
18:24 mornfall :-)
18:24 mornfall to vadí? :D
18:24 xstill no tak vadí, protože nevydíš statistiky
18:25 xstill se ti generuje nějakých 2^64 '=' do bufferu...
18:25 mornfall detailisto
18:25 xstill :-D
18:30 mornfall http://www.youtube.com/watch?v=Oo4OnQpwjkc
18:30 mornfall ještě by to chtělo vodárnu s trávou :D
18:50 xstill tak to tak vypadá, že nechat velikost těch nižších tabulek na 2^19 by byla lepší aproximace než to co tam je teď...
18:56 spito mornfall: no fuj tohle to
19:01 mornfall co?
19:03 mornfall Internal compiler error: Error reporting routines re-entered.
19:03 mornfall bum
19:03 spito vodárna s trávou....no toto
19:05 mornfall co? :)
19:05 mornfall přijdeš zítra? :)
19:07 spito jop
19:07 spito a přehlásil jsem si zkoušku, tak se budu moct věnovat divajnu
19:08 mornfall to seš ale poslušnej kluk :-)
19:09 spito tss
19:09 spito máte už vyplněnou docházku v inet-u?
19:09 mornfall nemáme
19:10 mornfall my totiž nejsme poslušní kluci
19:10 spito možná je na čase :)
19:10 spito jojo, je to REBEL
19:11 mornfall hroznej no
19:11 spito 2 vojáky zranil, 3 zhmoždil a jednoho dokonce zesměšnil
19:11 spito :P
19:11 mornfall kdo?
19:11 spito to neznáš tu pohádku?
19:11 mornfall asi ne
19:11 spito http://www.youtube.com/watch?v=k2gM1zk6lD8
19:12 spito tak jsem pomotal ty počty....
19:12 mornfall Hm. Tchýně mi poslala mailem „moudrost dne“ ... „neodsudzuj ženu z akilogramy ak nechceš byť súdený za centimetre“ ... nevím uplně co si o tom myslet
19:13 mornfall za kilogramy*
19:13 mornfall Hm.
19:13 mornfall Jo, to ale znám.
19:13 mornfall Jaký počty?
19:14 mornfall Aha tak.
19:14 mornfall Šmaria.
19:14 mornfall Asi bych měl dát výpověď.
19:14 spito prečo?
19:14 mornfall Prečo nie.
19:14 mornfall Chce se mi spát.
19:15 mornfall To gcc bych taky kopnul.
19:18 mornfall Tak jsem z -Wextra udělal cmake flag.
19:18 mornfall Ono je z toho to gcc fakt nemocný.
19:43 xstill asi fakt nebudu iniciální velikost do leaf a fork tabulky vůbec propagovat
19:44 xstill vlastně jim ale něco nastavit musím co?
19:45 mornfall bylo by to vhodný no
19:47 xstill ono se to chová strašně vesele, pro velké modely se ty spodní tabulky poměrně rychle ustálí a už nerostou
19:55 mornfall a poučení? :)
19:55 xstill že nastavit všechny na stejnou velikost je blbost, nejlepší je nechat je růst
19:56 mornfall to jsem úplně nemyslel
19:57 xstill a co jsi myslel?
20:00 mornfall no, že by stálo za to se zamyslet jestli dokážeme někde vyštrachat composable hash a neukládat ho do root tabulky
20:00 mornfall např.
20:00 mornfall nebo prostě obecně odlehčit root tabulku na úkor těch ostatních
20:02 xstill jo no ten hash odtam vyhodit nějak půjde
20:02 mornfall myslel jsem ten z Cell
20:02 xstill no to u shared asi nepude
20:02 xstill to mě už napadlo
20:02 mornfall no, šlo by to, jen tě možná bude spito nemít rád
20:02 xstill ale je tam ten lock
20:03 mornfall ten se vejde do Pointer-u
20:03 xstill vlastně můžeš zamknout ten pointer
20:03 xstill :-D
20:03 mornfall jen se tím trochu zamotá logika tý tabulky
20:03 xstill trochu
20:03 mornfall ona už je teda dost složitá aj teď
20:04 xstill co jsi myslel tím composable hash?
20:04 mornfall no že když máš (neznámý) text xy a h(x) a h(y) tak dokážeš spočítat h(xy)
20:05 xstill to by bylo celkem dobré
20:06 xstill ale asi by šlo i napsat generátor nad tím stromem který bude yieldovat třeba int64 a hash počítat pomocí toho, to by pak mohl být i normální hash ne?
20:07 xstill ale ty jsi chtěl asi počítat ten hash z hashů o tabulku níže
20:07 mornfall no, pointa toho hashe je že to máš za levno
20:08 mornfall projít celej strom je hrozně moc cache missů
20:08 mornfall když je v rootu, tak to poznáš v podstatě okamžitě
20:08 mornfall (že ta buňka obsahuje něco jinýho než hledáš)
20:09 mornfall druhá věc je, že na to by taky dobře fungovalo naprat nějaký bity toho spookyhashe do tagu
20:09 mornfall nějaký který nepoužíváš na adresaci
20:10 mornfall collision chain má pár set prvků max, takže dalších 10 bitů hashe ti to v podstatě spolehlivě rozbije
20:10 xstill ten tag se nám strašně hodí co? ;-)
20:10 xstill je to dobrý nápad
20:11 mornfall proto jsme ten pool dělali takhle :-)
20:11 xstill já zkusím zjistit jestli potřebuju ten hash v rootu, resp. jak ho dostat ven, to taky pomůže
20:12 xstill jen si musíme hlídat, aby jsme ty tagy odstraňovali, když to vracíme, oni mají tu nepříjemnou vlastnost, že když pak porovnáváš podle raw() tak jsou ty pointry různé
20:12 xstill (i když ukazují na totéž)
20:12 xstill to mě chvíli trvalo, než jsem na to přišel
20:13 mornfall nojo
20:13 xstill a teda potřebujeme tu tabulku donutit aby se resizovala později než při loadu 65%
20:13 mornfall jinak jsem zjistil, že dnešní x86_64 procesory maj fyzicky jen 48b adresy
20:13 mornfall to má na starost spito
20:13 xstill maj no
20:13 mornfall vymyšlený to je
20:16 xstill hm, ale pro elevator2 je stále největší forks tabulka...
20:16 xstill a zase leafs je úplně malá
20:16 xstill není to až tak predikovatelné
20:20 mornfall není to daný trochu aj strukturou stromečků?
20:22 xstill no to, že je víc forků než listů jo, ale to že jich je víc než kořenů je trochu divný, ale ještě nemám ani polovinu stavového prostoru
20:22 xstill chtělo by to llvm spitHint
20:22 xstill možná to řežu zbytečně moc
20:23 xstill (timed řeže na dost velký kusy pro velký modely, a když jsem to zmenšil tak to nijak nepomohlo)
20:24 mornfall no, jeden root odkazuje na min. dvě další věci
20:24 mornfall pokud jsou obě fork tak to není moc divný ne?
20:24 xstill tak očekával bych že jedna z nich už tam bude uložená
20:25 mornfall proč?
20:25 mornfall to není nijak nutný
20:25 xstill nutný ne, ale stav se nemění celý
20:25 xstill i když v llvm asi dost
20:25 mornfall když vypadaj stavy třeba abcd, a je vždycky stejný a je to rozdělený binárně, tak ušetříš na leafech ale na forkách tolik ne
20:27 xstill to jo no
20:41 xstill tak jsem se právě dozvěděl, že nejen, že prolog není ani úplný ani korektní, ale dokonce optimalizace můžou měnit sémantiku...
20:44 mornfall :-)
20:45 mornfall a proto mě dost prudí že se to hází do jednoho pytle s funckem...
20:45 mornfall resp. je o to na FI snaha
20:46 xstill s tím je něco potřeba udělat, představa, že budu učit prolog se mi vůbec nelíbí
20:47 mornfall http://www.cs.utexas.edu/~EWD/transcriptions/EWD10xx/EWD1036.html ... zejtra to vytiskneme a vylepíme Pelánkovi na dveře :D
20:48 mornfall jestli najdu zvýrazňovač, tak mu to můžem aj podtrhat :-P
20:48 xstill to je nějak strašně dlouhý
20:49 xstill se mi to číst nechce
20:50 mornfall „Software engineering, of course, presents itself as another worthy cause, but that is eyewash: if you carefully read its literature and analyse what its devotees actually do, you will discover that software engineering has accepted as its charter "How to program if you cannot.".“
20:53 xstill :-)
20:53 mornfall „So, if I look into my foggy crystal ball at the future of computing science education, I overwhelmingly see the depressing picture of "Business as usual". The universities will continue to lack the courage to teach hard science, they will continue to misguide the students, and each next stage of infantilization of the curriculum will be hailed as educational progress.“
20:57 xstill hmmm
20:57 xstill asi si to někdy přečtu celé
21:01 xstill hm, jdu spát abych zítra došel v 9 na FI
21:02 mornfall zajímavá myšlenka
23:39 Erbureth joined #divine

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