Search
Wednesday, 23rd of May 2018, 10:37:29 UTC
10:37:57
loke
‘slime-eval-defun’ to be precise
10:53:52
dim
shka: C-M-x runs the command slime-eval-defun
10:54:19
dim
so about the same as C-c C-c runs the command slime-compile-defun
11:06:24
loke
On SBCL they should be pretty much idental, no?
11:11:51
dim
I guess I just got used to using C-M-x for no reason really
11:12:32
dim
I know I prefer C-c C-l to C-c C-k for whole files, in order to avoid having fasl files around, but for defun forms it seems not to do that
11:15:01
dim
oh, C-c C-c annotate the sources, which C-M-x does not
12:54:43
dim
Heap exhausted during garbage collection
12:55:06
dim
mmm, not quite there yet with taming SBCL, or rather understanding what parts of the code are consing, I guess
13:23:42
Xof
you could use dougk's new allocation profiler!
13:45:32
dim
that sounds interesting indeed
13:45:58
dim
in that case though I think I can use a streaming API instead of packing things in-memory in a batch, with the ZS3 stream support
13:46:23
dim
that might improve performances and reduce consing at once
13:49:21
dim
oh no, right, sz3:put-stream doesn't do what I keep thinking it does
13:52:22
dim
the code already does (sb-ext:gc :full t) each time it gets rid of a batch, to hint SBCL
13:52:29
dim
is it a good idea to do so?
13:54:57
dim
https://github.com/dimitri/pgloader/blob/master/src/pg-copy/copy-batch.lisp#L79
14:02:16
shka
dim: i can't figure out what can be wrong, but profiler should help
14:06:36
dim
will play with that then, is there a simple doc about how to use it?
14:06:55
shka
sbcl manual contains example
14:07:10
shka
i am pretty sure you may find blog describing it in detail
14:20:33
Ukari
(defun test (x) (print (multiple-value-list x)))(test (list 1 2 3))
14:21:07
Ukari
is it possible to make `test` print the whole list '(1 2 3)
14:21:30
jackdaniel
(defun test (x) (print x)) ;; (test (list 1 2 3))
14:21:30
Xach
Ukari: (print x) is one option.
14:22:08
Ukari
not the print x, i need multiple-value-list due to a third library
15:16:13
Ukari
my generator is finished, https://github.com/ukari/cl-generator
15:18:42
warweasle
I got to use lisp at work today. Data processing, slice and dicing.
15:20:08
warweasle
Oh how I've missed the parentheses.
15:22:07
Ukari
I am confident about that api design, is anyone try it
15:43:59
oleo
is there an #asdf channel ?
15:52:58
oleo
(asdf:initialize-output-translations
15:52:58
oleo
(make-pathname :directory '(:relative :wild-inferiors)))
15:52:59
oleo
(make-pathname :name :wild :version :wild :type :wild)))
15:53:01
oleo
`((:root ,wild-subdir ,wild-file)
15:53:03
oleo
(:user-cache ,wild-subdir ,wild-file)))
15:53:22
oleo
now i can (ql:quickload :maxima-client) and it loads
16:09:02
oleo
loke: i just used :plot 2d (expression) sin(x) (variable) x (lower bound) -5 (upper bound) 5 to get a plot
16:23:59
oleo
just not sure why output-translations are not defined in quicklisp for the local-projects stuff by default....
17:15:06
johnvonneumann
** NICK Guest50977
19:18:09
dim
1 593 9.8 593 9.8 593 9.8 - SB-REGALLOC::INIT-SB-VECTORS
19:18:09
dim
2 354 5.8 354 5.8 947 15.6 - SB-C::MAKE-TN
19:18:10
dim
3 296 4.9 393 6.5 1243 20.5 - MAKE-HASH-TABLE
19:19:04
dim
so 6% of the funcalls saw by the sprof are calls to make-hash-table?
19:20:02
dim
I don't think I'm doing that :/
19:21:50
Bike
what exactly are you profiling? that looks like it's in the compiler
19:21:58
scymtym
dim: are you benchmarking with cold CLOS caches?
19:22:30
scymtym
(or PCL caches, technically)
19:23:43
dim
the run includes parsing a command language, which returns a lambda form, that is then compiled
19:26:05
_death
maybe try sbcl's evaluator(s)
19:26:25
scymtym
if you call COMPILE at runtime, some amount of compiler stuff is going to be in the profile (disregarding what PCL might add)
19:26:40
dim
pgloader in that profiled run loaded 121746 rows (36.3 MB) in 2m23.802s, so the compiling shouldn't be leading the profile, that said it's a multi-threaded program, does the profiler knows how to profile multiple threads?
19:28:23
dim
retrying with options (:max-samples 10000 :mode :alloc :report :flat :threads :all :reset t), that should help, maybe
19:28:49
scymtym
dim: it samples all running threads by default, iirc
19:30:57
scymtym
dim: if you are adventurous (and your SBCL version is recent enough), you could try https://github.com/scymtym/clim.flamegraph/tree/future to get a more nuanced view
19:31:05
aeth
(setf *print-case* :downcase) makes the output a lot more readable
19:33:27
aeth
I notice a lot of things in sprof not directly related to my program. sb-profile seems a lot more useful
19:35:45
dim
Sampled threads: #<SB-THREAD:THREAD "repl-thread" RUNNING {1004CB0033}>
19:35:56
dim
that's not interesting, and it was with :threads :all
19:37:02
dim
though I see calls in the trace that don't seem to belong to the pgloader main thread at all, so I'm quite confused
19:37:21
dim
yeah it's too confusing for this evening, I'm going to do something else I guess
20:13:46
jeosol
dim: sometimes it pays to leave it for a while and come back, allowing the brain to relax
20:19:04
raynold
ahh it's a wonderful day
20:21:38
comborico1611
raynold: Yeah, I'm having a decent day, as well. I think it's because the school children are getting out.
21:47:47
oleo
http://dpaste.com/0K969GG http://dpaste.com/3P713VV http://dpaste.com/2MK678B http://dpaste.com/1F5S302
Wednesday, 23rd of May 2018, 22:37:29 UTC