freenode/#clasp - IRC Chatlog
Search
3:42:28
no-defun-allowed
I had the same error while running the tests, which I suppose invoked a GC.
4:00:21
drmeister
A preliminary test tells me that the new SharedMutex is 5.5x faster than the old one.
4:03:50
drmeister
I evaluate this with the old SharedMutex and again with the new one (I have them built side by side).
4:05:14
drmeister
With the old SharedMutex it takes 1.65 seconds and with the new one it takes 1.713 seconds - so the new one is just a bit slower than the old one in this case.
4:10:49
drmeister
Yeah - the new one scales much better with multiple threads. I'm very impressed by the author of that code.
4:11:32
drmeister
(time (many-find-packages 20 10000000)) Old SharedMutex 80.433secs. New SharedMutex 10.965secs
4:35:39
drmeister
MPS doesn't use a shared mutex - that's would explain why it scales so poorly with multiple threads.
4:38:45
no-defun-allowed
Are there many places where it only reads? I have barely studied the MPS though.
4:43:07
drmeister
Once the allocators run out of their current buffer they call a function that grabs new pages and that has a lock.
4:43:58
drmeister
When you allocate a lot - and lisp allocates a lot - threads spend a lot of time waiting for the lock.
4:45:00
no-defun-allowed
Sure, but do any read without writing or locking everything? If not, you'd just be exercising the writer lock.
4:51:38
drmeister
I don't know what they do. I'm sure it could be done better. Java has a multithreaded GC I believe.
4:54:40
no-defun-allowed
This reminds me that I had MPS running on ARM on Linux, but then forgot about it and lost it when reimaging SD cards.
6:27:18
drmeister
Time real(20.793 secs) run(20.792 secs) consed(1373407488 bytes) interps(191) unwinds(0)
6:27:30
drmeister
Time real(51.268 secs) run(51.269 secs) consed(1784819792 bytes) interps(191) unwinds(0)
13:38:38
Bike
so right now the setCallingConv wrapper works with two different unrelated types, llvm functions and callbase. extern_defmethod sets up a single dispatch gf
13:43:15
Bike
also, i don't get llvm's restrictions on tail calls... it says the caller also needs fastcc convention, and the caller and callee need the same prototype
13:53:28
selwyn_
the issue is that you would like to be able to use it without having to be logged in under my account, right?
14:03:18
selwyn_
i suspect that any issues are due to the fact that i prefer to setup quicklisp in my .sbclrc file. if you run my scripts as a different user, then sbcl probably won't load that rc file on startup, in particular it won't use the quicklisp local-project repos under my home directory
14:18:02
selwyn_
now that i'm starting sbcl i notice lots of discouraging asdf complaints that i don't remember seeing before
14:25:29
selwyn_
i am reluctant to run anything as i don't want to interfere with the quickclasp distribution you already have up there, but i've made a new-rebuild-dist under my home directory that may work better
14:34:17
drmeister
Previously I would edit /home/selwyn/quicklisp/local-projects/dist/repositories.txt
14:34:37
selwyn_
i think you should be able to execute it as is, provided that you have sbcl installed
14:36:35
drmeister
We would like to create a quickclasp account - and move everything we need into that.
14:48:17
drmeister
How does it know to go to the /home/selwyn/quicklisp/local-projects/dist/repositories.txt file?
14:48:43
drmeister
Is that a quicklisp thing? I thought anything in quicklisp/local-projects was user defined.
14:49:30
selwyn_
the shirakumo-dist repository (which is under local-projects/dist) loads the repository list from repositories.txt under its own project root, not a quicklisp thing
14:50:38
selwyn_
the quickclasp distribution is served under /home/selwyn/quickclasp, so i imagine that an nginx rewrite rule would have to be changed to point to /home/quickclasp-user/quickclasp or whatever. iirc cracauer sorted this out for me
14:51:59
selwyn_
i would move everything in the directory, there's nothing there that isn't related to quickclasp
14:54:02
selwyn_
the web server is configured to serve /home/selwyn/quickclasp under http://thirdlaw.tech/quickclasp, so that should be changed if everything is going to be moved to a quickclasp user account (don't actually know if you guys use nginx or not)
14:57:15
drmeister
In other news: The buildbot has built cando with compile-file-parallel nine times since I turned it back on. It's starting to look like that bum SharedMutex was the problem.
15:00:42
selwyn_
whatever web server is on the machine is serving files from that directory somehow. unless i'm very much mistaken i'm not doing anything fancy like reverse tunneling through hunchentoot
15:01:35
selwyn_
i don't mind if you just commandeer my account to be the quickclasp account - that's all it was supposed to be in any case
15:03:09
drmeister
Yeah - we may end up doing that. The natural thing was to try and move it into a separate account.
15:05:29
drmeister
I really appreciate the work that you did there. quickclasp solved and is still solving some thorny distribution problems.