freenode/lisp - IRC Chatlog
Search
0:21:39
aeth
Does anyone have any idea why something that would perform around 3% CPU in SBCL and around 6% CPU in CCL would struggle at 100% CPU in ECL? I'm guessing something creates a lot of garbage in an inner loop in ECL but not SBCL and CCL, or at least not as much garbage.
0:26:42
jason_m
aeth: Could you get an idea using (time ...) and comparing the number of bytes consed, time spent in gc? i know ccl and sbcl have those things in their time output. Not sure about ecl.
1:05:55
aeth
jason_m: I used to use time, but in SBCL one can just disassemble a function and look for a commented allocation there.
1:09:21
jason_m
aeth: sounds like a more reliable approach. I haven't played with disassembling yet.
1:10:49
aeth
If the function is creating something, there should be one (?) thread.alloc-region and it shouldn't be there if the function is merely modifying something
1:12:45
pillton
The statistical profile in SBCL allows you to profile allocations. (sb-sprof:with-profiling (:mode :alloc) ...)
1:13:39
aeth
Yes, that is one of the things I used to use. Statistical means it misses some tiny allocations, though.
1:14:09
aeth
Disassembling will miss nothing, unless there's some allocation in SBCL that isn't commented in the disassembly
1:27:25
krwq
how do you create a metapackage? what I mean is to create a package - when someone does use-package on that he should automatically also use few other packages
1:29:19
Bike
...and of course you can define a package that's just there to reexport symbols from a bunch of packages.
1:30:33
pillton
The case you specify would be easier if you did (defpackage "FOO.A" (:import-from "FOO" ...)).
1:31:07
Bike
you can have a "metapackage" that imports symbols from other package and then exports them. so like uh...
1:33:07
krwq
Bike: is there some easy way to import all? some function or something? I'm not sure if it would be ok to just put some random code under the defpackage
1:47:10
warweasle
XachX: There were some changes to rtg-math which broke some of clinch's examples. The fix is in master, if you want to include them.
3:00:08
krwq
can you do i.e.: (use-package-symbol 'cl-ppcre:regex-replace) and then just do (regex-replace ...) but without using all symbols from the package?
3:04:09
krwq
Bike: so if this is only making it visible in this package then is there a way to also make it visible in the packages using your package?
5:08:47
pillton
If I read 8.7.2 in the sbcl manual correctly, the C prototype "double fun(double x)" maps to (define-alien-routine fun double-float ((x double-float)))
5:12:34
borei
aha, seems like i forgot to specify type of return, now there is another error, smoking docs :-)
5:14:44
loke
I'd generally recommend using CFFI instead of sb-alien directly. That way your code will work on all CL's.
5:36:30
beach
I'd generally recommend that people program in Common Lisp instead of some other language.
5:57:34
beach
I could use some help. I am thinking that it would be possible to structure the reader as follows: If the character read is not in cases 1, 2, 3, or 4, would it then be feasible to unread the character and call a separate function for all other cases?
6:03:13
beach
I am attempting to break up the reader algorithms into smaller chunks so that I can replace the main algorithm while calling the smaller chunks.
6:09:07
astronavt[m]
im thinking about picking up Guile for my first Lisp. does anyone have any reason i shouldnt do this before i dive in?