Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2015-08-08

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

All times shown according to UTC.

Time Nick Message
06:53 spito joined #divine
06:57 xstill nevím, asi to nějak souvisí s tím komentářem
07:01 xstill mornfall: no asi proto abych nemusel extra řešit případ kdy je to konstantní výraz
07:02 xstill jinak discard se bude muset dělat v processOpen, protože jinak nemůžou fungovat protipříklady
07:08 spito joined #divine
07:34 mito_ joined #divine
08:01 mornfall jakože když se discarduje dřív bude to fungovat líp?
08:01 mornfall zajímavé
08:02 mornfall xstill: no, ne, já se ptám proč se z ConstantExpr vyrobí instrukce, i když ConstantExpr je User stejně dobře jako ona instrukce
08:02 mornfall (potíž totiž je, že ta instrukce se leakne, reference z ní zůstávaj viset a dělá to solidní neplechu)
08:03 xstill no, teď když ho discarduješ v processClose, tak se do parent grafu uloží starý ne-discardnutý handle (ten pak ukazuje na něco náhodného), takže je potřeba to v tabulce vyměnit v processOpen, ale smazat až v processClose
08:05 xstill mornfall: no když tak koukám na to, co contantExpr může být tak to asi moc smysl nedává, zkusil jsi to prostě vyhodit?
08:06 mornfall jo, zdá se že to bez toho funguje, jen se radši ptám
08:07 mito_ joined #divine
08:08 xstill jako nevím, ten kometář podle dokumentace nedává žádný smysl, asi je to nějaký pozůstatek něčeho
08:15 mornfall | [ 0:05] Assertion failed: (semantics == (const llvm::fltSemantics*)&IEEEsingle && "Float semantics are not IEEEsingle"), function convertToFloat, file /usr/ports/devel/llvm37/work/llvm-3.7.0rc1.src/lib/Support/APFloat.cpp, line 3110.
08:15 mornfall tohle se mi taky ani trochu nelíbí
08:16 mornfall aha, ale to je jen proto že ten kód je blbě, nvm
08:17 mornfall někomu se nechtělo psát složený závorky :P
08:17 xstill komu??
08:17 mornfall hm
08:17 mornfall mně přece... ale ono to nejde ani s nima
08:18 mornfall ono nesmíš switch-em přeskočit deklaraci
08:19 xstill no mně se to už taky stalo, naštěstí mě clang varoval na dangling else
08:19 mornfall ale zase ji nemůžu dát do bloku protože si na ni schovávám ukazatel
08:25 xstill přeskočit deklaraci?
08:25 xstill jak se ti povede switchem přeskočit deklaraci?
08:25 mornfall case 1: int x;
08:25 mornfall case 2: ...
08:25 xstill to nefunguje vůbec pokud vím, minimálně v gcc
08:26 mornfall jo však to nejde, proto to bylo vytažený před switch, ale (chybně) i s inicializátorem
08:26 mornfall teda na starým LLVM to vyrobilo nějakou (asi nedefinovanou) hodnotu
08:26 xstill aha
08:26 mornfall a teď to assertí :-)
08:48 mornfall hm, nová instrukce, cleanuppad
08:49 mornfall to jsem přesně potřeboval :P
08:49 xstill co to je?
08:49 xstill … si to najdu
08:50 mornfall „The following new instructions are considered “exception handling pads”, in that they must be the first non-phi instruction of a basic block that may be the unwind destination of an invoke: catchpad, cleanuppad, and terminatepad.“
08:53 xstill ty výjimky jsou nějaký komplikovaný
08:53 mornfall zdá se že to je celý kvůli Windows
08:53 mornfall prozatím se nás to netýká
09:02 xstill hm, ztratit 5M stavů aniž by to někde zassertilo je taky veselý
09:22 xstill ha, už to zase funguje
11:10 xstill a ty protipříklady nakonec ani nebolely
17:58 xstill mornfall: až doběhne graylisting tak by ti měly dojít HC patche, podle testů se zdá že to i funguje
18:05 mornfall nevim co s tím nárůstem
18:07 xstill tak je to jen pro all buildy, pokud nechceš HC zapnout globálně, což moc nedává smysl
18:08 xstill a teda v testech by to možná chctělo nevypisovat flavours v kterých jsou všechny testy skipnutý (pokud se to už neděje)
18:15 xstill až spito udělá dvouvrstvou architekturu tak můžeme partitioned úplně vypnout
18:56 xstill mornfall: mám to opravit a poslat znovu?
18:58 mornfall no, nějak to oprav, jestli amendem nebo patchem je asi jedno
18:58 xstill já myslím, že amend půjde
18:58 xstill ale raději počkám až mi dojde swap a ten divine padne
18:59 xstill viděl bych to tak, že do toho serveru bysme měli pořídit i pár tera SSDček divine s tím celkem jede
19:18 xstill hm, a příště bych mohl zkusit udělat něco co i k něčemu bude :-D
19:19 xstill .
19:28 xstill https://paradise.fi.muni.cz/~xstill/tmp/hc.pdf
19:29 xstill (ten běh s kompresí ještě neskončil)
19:31 mornfall a discard z komprimovaného store asi nic moc co :)
19:32 mornfall (tzn. fronta tree-compressed, zbytek hc)
19:32 xstill zapomeň, není jak poznat kolik uzlů sdílí vnitřní části stromu
19:33 mornfall jo, počítám že by to znamenalo refcounty a podobné zlé a škaredé věci
19:33 mornfall a erase z tabulky
19:33 xstill jo, a vzhledem k tomu jak velký by ten refcount mohl být tak alespoň 4B overhead na kus
19:34 xstill erase by zas tak neřešitelnej problém nebyl, asi
19:37 xstill jako kdybys chtěl mohl bys chunkovat frontu po hodně velkých hodnotách (řádově 10^5 - 10^6 prvků) a ty chunky komprimovat každý samostatnou tabulkou, ale vzhledem k tomu, že třeba v tomhle grafu je poměr front ke stavům zhruba až 1:5, tak by to asi stejně kompresi nedalo
19:40 xstill krom toho, rss-per-state dosahuje při kompresi i hodnot okolo 128 B (i < 64B bylo, ale zřídka), HC potřebuje na jeden stav alespoň 20 + extension, to není až tak moc prostoru pro zlepšení…
19:41 xstill si tak říkám, že packovat pointry ve vnitřních uzlech po 48b místo 64b by mohlo mít smysl
19:42 xstill i když komprese už tak nevyniká rychlostí…
19:43 xstill jinak, Pool::Pointer měl vždycky jen 39 bitů na adresaci? já měl za to že tag býval jen 16
19:47 mornfall asi od doby co se počet bitů v pointru používá na odvození velikosti a počtu bloků v poolu

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