Search
Thursday, 29th of October 2020, 20:38:06 UTC
20:44:36
Bike
dentist went long, sorry. the test case is just the relevant parts of architecture.builder-protocol. sicne you got it down to this one call it's not much
20:44:42
Bike
since it doesn't seem like we care what relate actually does
20:46:04
Bike
and yeah, got it reproducing. neato
22:00:53
karlosz
drmeister: Writing temporary bitcode file to: #P"/Users/karlosz/clasp/src/lisp/kernel/lsp/predlib.ll"
22:00:55
karlosz
Writing faso file to: #P"/Users/karlosz/clasp/src/lisp/kernel/lsp/predlib.fasp"
22:00:57
karlosz
Time real(4.958 secs) run(4.958 secs) consed(369343584 bytes) interps(7) unwinds(0)
22:00:59
karlosz
#P"/Users/karlosz/clasp/src/lisp/kernel/lsp/predlib.fasp"
22:01:28
karlosz
that's from compiling predlib.lsp on bir with the latest cleavir commit
22:09:31
karlosz
and here's the new flamegraph for compiling predlib now that there's no more unwinding during compilation: ocf.io/~karlos/bir-no-more-unwind.svg
22:09:41
karlosz
i'd say we're doing pretty good with bir now
22:24:09
karlosz
we should make sure we don't regress this though. note to make sure compiling predlib doesn't unwind in the future
22:29:25
drmeister
Hi - yes - that looks really good.
22:29:54
drmeister
We could expose a way to count the number of unwinds that happen when a particular form is evaluated.
22:42:16
Bike
so my reduced thing does work but not consistently
22:42:23
Bike
still, better than having to load cando
23:28:28
drmeister
The lack of consistency puzzled me deeply.
23:28:37
drmeister
Are you any closer to figuring out what is going on?
23:30:07
Bike
i mean, otehr than in the sense that it's easier to look at now, no
23:30:38
drmeister
Can you paste the reproducer?
23:35:25
Bike
https://github.com/clasp-developers/clasp/issues/1077
0:12:31
karlosz
yeah once we expose a way to count the number of unwinds for a form evaluation we can just pop that into the regression tests
0:12:46
karlosz
by checking if the number of unwinds for compiling predlib is 0
0:13:25
karlosz
Bike: it may be worht trying to make it more deterministic by implementing sets as lists instead
0:13:39
karlosz
since doset is not deterministic
0:13:48
karlosz
i've come across a few non deterministic issues like that
1:52:16
Bike
i think we also have hash tables
1:52:37
Bike
i mean as tables, not as sets
2:31:51
karlosz
do we iterate over them as often?
2:32:07
Bike
dunno. i just mean it's something we'd have to keep in mind for determinism
2:32:10
karlosz
also, is it just mean or does reconstruct in concrete-syntax-tree not actually work
2:32:24
karlosz
the one test that is in CST seems to fail and blow the stack
2:32:52
karlosz
and also it seemingly can't even reconstruct '(b (a . c)) from a cst with raw (a . c)
2:33:24
karlosz
in sbcl this gives NIL https://paste.gnome.org/pzvw95nlx
2:34:08
Bike
i think it should give nil? they're different conses
2:34:31
karlosz
hmmm, i might be misunderstanding then
2:34:53
karlosz
the test in Test/reconstruct.lisp does blow up for me though
2:35:07
Bike
not sure i've ever run the CST tests >_>
2:35:16
Bike
but yeah, it doesn't do pattern matching or anything
2:35:26
Bike
maybe you need print circle? i dunno
2:36:39
karlosz
nope, well scymtym added the test at the same time as the fix that was supposed to make the test work
2:36:42
karlosz
not sure whats going on
2:36:45
karlosz
this is on sbcl too
2:38:06
karlosz
anyway i was going to try to make reconstruct faster since a lot of time is spent there
2:38:12
karlosz
also lots of consing for hash tables
4:04:41
beach
Good morning everyone!
Friday, 30th of October 2020, 8:38:06 UTC