freenode/#lisp - IRC Chatlog
Search
13:07:54
Harag
is it just me or is hash tables in sbcl 2.0.5 a lot faster than 2.0.0!!! My db test is loading 1mil records with hash-table indexes in 17 seconds where it was taking 100 seconds previously!!!
13:20:58
phoe
Harag: http://www.sbcl.org/all-news.html mentions a few hash table modifications, but mostly for EQUALP
13:46:44
Harag
if I run the tests over and over sbcl eventually gets its nickers in a not and performance goes out the window again. (event with restarts)...trying a reboot now to see if that helps
14:20:12
Harag
I tried a naive avl-tree instead of the hash-tables but it was horrible... at least the populating it was
14:36:13
Harag
pffft sbcl 2.0.5 went backward in gc ... running my test twice in a row now crashes sbcl... last night on sbcl 2.0.0 I ran the tests over and over for hours without one crash while I was trying to tweak the code
14:37:13
Harag
An mprotect call failed with ENOMEM. This probably means that the maximum amount of separate memory mappings was exceeded
14:41:11
Harag
To fix the problem, either increase the maximum with e.g. 'echo 262144 > /proc/sys/vm/max_map_count' or recompile SBCL with a larger value for GENCGC-CARD-BYTES in
14:49:10
Harag
cant find backend-parms.lisp ..grepped for GENCGC-CARD-BYTES and can only find notes about it nothing to set it
15:12:37
Harag
according to https://docs.actian.com/vector/5.0/index.html#page/User/Increase_max_map_count_Kernel_Parameter_(Linux).htm it should be 65536 if my math is right (/ 2097152 32)
16:24:53
jmercouris
there is some strange bug I can’t figure out that keeps causing our sever to crash, leading to downtime if i am not paying attention
16:25:15
jmercouris
wondering if I can just wrap everything in a condition handler and restart or something
16:33:05
phoe
jmercouris: run with --disable-debugger or an equivalent, use your BSD's init system to restart it on crash
16:36:35
phoe
it's not really a Lisp question at this point, it's a question about BSD services and their restart strategies
17:41:57
beach
Wow, that's the third person in a short time using closures instead of standard objects.
17:43:50
grayling_
Ah. Sorry. I load the project using quicklisp. But only after working on it and using slime is peek-db returning a value.
17:45:05
phoe
could you put up your code on GitHub so I can try loading the system and reproducing it?
17:45:38
Josh_2
don't worry about my previous question, I was making a mistake with my json encoding. Fixed it now
17:50:05
grayling_
If I just (asdf:load-system :aeai-pattern) I cannot use (peek-db). It returns nothing even after (get-db) being used.
18:01:05
phoe
https://github.com/hawkish/common-lisp/blob/c477637b16d91b255284289d4dad8a7cb5fc929e/pattern/src/mycin.lisp#L49
18:27:30
momozor
I checked the ASDF documentations, but I can't find anything that do something like that.
18:28:32
phoe
(defpackage #:my-package (:use :cl) (:local-nicknames (:p :cl-ppcre))) (in-package #:my-package)
18:29:43
momozor
https://lispcookbook.github.io/cl-cookbook/packages.html#give-a-package-a-local-nickname
21:08:13
drmeister
Does anyone know how the precedence works when you have additional dists in quicklisp?
21:09:59
drmeister
I'm asking because some of us think that they are getting a different precedence than others.
21:10:27
drmeister
It was a big deal a couple of days ago when quickclasp was serving clasp specific systems for bordeaux-threads, trivial-garbage and trivial-backtrace.
21:13:58
drmeister
Why would mine be different and quickclasp has a higher value (3800557960) while quicklisp has a lower one (3800557960).
22:38:27
Josh_2
Lisp images so tough despite my error-error being 3 levels deep It's still serving my site just fine
22:56:10
Josh_2
https://plaster.tymoon.eu/view/1912#1912 can someone help me with this error? It's clearly to do with my macro, I'm guessing if I put the (defparameter .. ) into (eval-when ..) It would fix the error
22:56:39
Josh_2
but why am I getting this error? I had two others about how two of the functions used in my macro were not available at compile-time
22:59:05
drmeister
Xach: Thanks - then we are installing quicklisp and adding quickclasp too quickly after that.
23:07:05
Josh_2
I think I understand, the macroexpansion is attempting to call a function that doesn't exist when it needs it
23:19:24
matzy_
could anyone help me understand why my super, super simple webserver project refuses to be compiled by asdf? I've been searching for hours and hours and can't figure out what i i did wrong
23:22:53
drmeister
Xach: That's what I think we will do, rather than playing Russian Roulette with installation timing.
23:23:11
matzy_
ugh github is being super annoying, but here's the link - https://github.com/cmatzenbach/conway-ff -- the only difference is i moved everything from the /api folder to the top level and deleted the folder to hopefully make asdf happy, but no
23:24:14
drmeister
Funny thing though - I swore to Martin up and down that quickclasp shadowed quicklisp while he said that he was seeing it the other way. In my case I was installing quickclasp by hand and he was using a script that we are developing where the two are installed in rapid succession.
23:24:56
drmeister
In his case they both had the same value so it was a coin toss which one shadowed the other. It's kind of fortunate that we hit this - because now we can take control.
23:25:27
matzy_
the thing is, i got it to compile once, and then i made a couple menial changes and it has never worked since then
23:25:29
drmeister
quickclasp isn't currently shadowing any quicklisp systems - but it may in the future. So it was a logic bomb waiting to happen.
23:26:26
matzy_
i've even restored back to the initial commit and it still wouldn't compile from that
23:33:21
matzy_
it keeps error out after the (defvar *acceptor*) and saying "Package HUNCHENTOOT doesn't exist)
23:37:52
matzy_
All I do is make a package for server.lisp, :use cl, and export the start-server and stop-server functions. in main.lisp all I do is call (in-package :server) and then call (server:server-start)
23:40:41
no-defun-allowed
What will happen is, that when ASDF goes to compile your file, it'll read it without running the QUICKLOAD forms, and will get confused when Hunchentoot isn't present.
23:40:44
matzy_
oh yeah i also install the four dependencies i need in quicklisp after my (defpackage :server) and (in-package :server) which was loding fine at one point
23:41:26
no-defun-allowed
Instead, add a :depends-on argument to your DEFSYSTEM in the asd file, like :depends-on (:hunchentoot :easy-routes :jonathan)
23:41:43
no-defun-allowed
(I don't think you need hunchentoot-test to write programs using Hunchentoot.)
23:42:42
matzy_
see, i was thinking about that, but i read a blog post on asdf 3 and he says that was dumb for some reason
23:43:29
no-defun-allowed
That's what I always do, and I don't think trying to QUICKLOAD from the source file would be the non-dumb solution though.
23:51:42
matzy_
i have one other general question if you have a second - when i run (asdf:load-system "my-system") is it 1. generating a binary and 2. re-compiling every time? What if I have a stable compiled version and want to run that one? Would I still use (asdf:load-system "my-system")?
23:53:22
no-defun-allowed
ASDF will always load the version of a system as it exists in the source code, which may involve recompiling changed files.
23:53:54
matzy_
unfortunately i've just started using aws this past week :( but let me think, cause i just had to do a bunch of configuring as i've been learning docker
23:55:15
matzy_
no-defun-allowed so it's re-compiled every time, but only compiles files that have changes made to them? is this a binary you can run outside of that asdf function?
23:56:37
no-defun-allowed
No, it will generate one FASL file per Lisp source file. You could load those with LOAD, but you would need to ensure everything each file depends on is loaded before loading it; which is basically just doing what ASDF would do for you.