freenode/#clasp - IRC Chatlog
Search
17:43:43
Bike
i've never implemented locks before, but as i understand, acquiring one should basically just be an atomic "lock.pid = mypid"
17:48:06
drmeister
Hmm, it looks like my SharedMutex is ok but the UpgradableSharedMutex does not work in a shared read mode.
17:50:39
scymtym
ACTION is working on extending the flamegraph tool to help with debugging this kind of situation: https://techfak.de/~jmoringe/tracer-2.png everything red is blocking: GRAB-MUTEX, CONDITION-WAIT, PROCESS-WAIT, SLEEP
17:53:05
scymtym
drmeister: it needs mcclim, but i understand that mostly works now. furthermore, it uses SBCL's encapsulation to trace function calls and returns. if clasp has something equivalent, it should be possible
17:55:18
scymtym
if you just want to trace blocking primitives, those could be instrumented via redefinition. it is mostly tracing arbitrary user functions that needs encapsulation
19:25:12
Selwyn
hello all, i am looking to build clasp from source. are there any particular build options for LLVM that are necessary or useful for building clasp? or will `vanilla' llvm suffice?
19:26:16
drmeister
Build instructions are here: https://github.com/clasp-developers/clasp/wiki/Build-Instructions
20:54:15
kpoeck
In https://github.com/clasp-developers/clasp/blob/master/src/lisp/kernel/init.lsp#L385
20:54:41
drmeister
kpoeck: Now I'm leaning towards the memory usage of HIR processing as being responsible for slowing down compile-file-parallel
21:09:05
kpoeck
If HIR-processing is reponsable for the slow-down, than I wonder what the effect of limiting the number of execution threads with a thread-pool might be
22:48:14
drmeister
kpoeck_: Hi - I'm trying to get some evidence that it's the memory used by the HIR graph traversal that is the problem.
22:51:32
drmeister
My hypothesis is that when we run HIR processing in multiple threads that it hammers the GC
22:52:57
drmeister
I suspect that much of the HIR processing memory is the hash-tables that we use to traverse the HIR graph.
3:36:23
drmeister
(time (string-fill 7 16)) starts the hash table with 16 entries and it rehashes 21 times by the time it finishes.