libera/#commonlisp - IRC Chatlog
Search
17:34:25
saturn2
pjb: "Just for info, python does in 0.12s what the SBCL image with max speed declaim does in 3.94"
17:52:04
Josh_2
etimmons: Just seen your link for the tar project, very nice that will come in useful for me
17:54:41
q3cpma
etimmons: on that subject, since Tar has no real standard, what did you use as reference? GNU?
17:58:53
etimmons
q3cpma: it can read ustar, pax, gnu, and v7 tar files. It can write each of them as well, but I'm missing a couple of gnu extensions in each direction.
17:59:50
etimmons
Josh_2: great! Sorry to hear about 40ants doc, what errors were you getting? I had some mgl-pax code that I just ported over so I didn't exactly follow the examples to the letter
18:00:24
q3cpma
etimmons: GNU is the standard if you want sparse file and long names, these day, so nice
18:03:09
Josh_2
etimmons: the example on the github wont build. I run the (40ants-doc/builder:render-to-string @foo-random-manual :format :markdown) and get an error saying 'unable to figure out *package* for object :(
18:03:16
etimmons
q3cpma: PAX handles long names quite nicely as well. sparse files is one GNU extension I'm missing (in the high-level wrapper, at least). But it should be too difficult to add
18:04:53
q3cpma
etimmons: yeah, I'm mixing things up, the problem I had were with the only pax utility (mirBSD pax), and not the format itself
18:05:01
etimmons
Josh_2: Huh, that's weird. I'll try to work through the example and see if I can see what's up
18:05:37
yitzi
q3cpma: Did you try sbcl with --no-userinit to do that benchmark? For me it takes it from ~4s to about ~.5s
18:07:12
etimmons
Josh_2: I was using mgl-pax for a while and really wish the 40ants stuff wasn't forked and was instead merged into mgl-pax.
18:07:53
etimmons
Josh_2: But I think there was some strong differences of opinion and I really like being able to load my documentation tool *without* also loading ironclad, so 40ants it is
18:09:46
yitzi
It was just once with their simple.lisp ... in any case my point was that the startup code to load quicklisp/clpm can be significant.
18:20:31
q3cpma
yitzi: I gained <0.1s by using (asdf:load-system "cl-ppcre"), is it the way to do it?
18:21:10
Bike
i think yitzi means the time advantage of not loading quicklisp at all. using ql:quickload isn't really going to be much slower if you already have it downloaded, since it just does asdf:load-system anyway
18:22:08
yitzi
Correct. It might not make much of a difference since they are dumping an image and then executing that.
18:26:50
q3cpma
Thanks for helping me again, I'll come back another time to at least try to bridge the gap with Slowthon =)
19:26:06
etimmons
Josh_2: I just tried the example. Only problem I ran into was I needed to add the package to the section name in the call to `render-to-string` (so `foo-random::@foo-random-manual`).
19:31:52
etimmons
Josh_2: I did the equivalent of cloning <https://github.com/40ants/doc> and <https://github.com/40ants/commondoc-markdown> to local projects, and then `(ql:quickload :40ants-doc-full)`
19:34:15
Josh_2
Thats what I was quickloading, I'd then realize I obviously need builder and ignored-words
19:42:06
jmercouris
Josh_2 pointed it out, and macroexpanding it leads me to see that the documentation is very misleading
19:43:35
_death
it sets the bindings in parallel (rather than sequentially).. maybe you're conflating several meanings of the word
19:43:58
Bike
"More precisely, all subforms (in both the place and newvalue forms) that are to be evaluated are evaluated from left to right"
19:46:56
jmercouris
fair enough, but we are usually discussing in the context of the fourth dimension
19:47:00
Bike
as far as the programmer is concerned, they can take place at the same time. there's no way to determine what order they take place in, if any.
19:47:53
_death
with setf, it would be: (i) set a to the value of b (a=2,b=2) (ii) set b to the value of a (a=2,b=2)
19:48:37
Bike
for example, if your macroexpansion happened to expand to the two setqs in a different order, or starting two threads that do the setq and then joining them, you'd never know
21:32:08
Josh_2
etimmons: are the docs generated by 40ants/doc able to be hosted by a webserver like nginx straight away?
21:37:55
etimmons
Josh_2: yep! For instance, cl-tar publishes through Gitlab pages (which is just a static webserver under the hood)
21:39:07
etimmons
Any time I tag a commit in cl-tar or cl-tar-file, it triggers a new pipeline in cl-tar-site which downloads the documentation for the tag, shoves it in the correct folder, and then does the magic Gitlab pages dance to tell it there's a new set of files ready to be served
21:44:08
etimmons
Separate repo: <https://gitlab.common-lisp.net/cl-tar/cl-tar-site> it has some CL code in it, but I have zero plans to add it to QL since it's only used to build the project website
21:45:17
etimmons
It's also kind of an artifact of how c-l.net does its project pages. In order to get a site to show up under c-l.net/project/X/ using Gitlab pages, you need to use a repo named X/X-site
0:58:12
hayley
FWIW Bike's definition of parallel (w.r.t parallel assignment) is the undisputed definition of concurrent at least, that there are no happens-before relations that would order one before the other.
1:26:13
hayley
Can I do anything to make the SBCL compiler do less optimization somehow? It doesn't appear that the code I generate would benefit from much more type inference, for example.
1:56:22
hayley
Huh, optimizing for (speed 0) actually affected compile time (which went from 450ms to 250ms), and the drop in execution performance isn't that bad. Somehow I don't seem to write code where it usually does much.