libera/#commonlisp - IRC Chatlog
Search
17:24:42
jeosol
Is there a cl utility I can use to check memory consumption with time. I have a long running workflow (takes like 2-3 weeks) and I run several versions of the workflow using different inputs. The input determines the complexity of the task. I am doing meta-optimization over some functions. With a single function, it tends to run fine. With many
17:24:42
jeosol
functions, more complex calculation, the run fails and the computer is restarted. This has happened a few times I am trying to pin-point the issue
17:49:00
edwlan[m]
ROOM will show you the current memory usage, could you run it in a thread with a loop and a sleep?
18:36:43
jeosol
I know it will be hard to make recommendations without more context, but I am suspecting increased memory usage. I do start SBCL with --dynamic-space-size but perhaps need to increase it to much larger number.
18:38:03
jeosol
edwlan[m]: thanks for your response. I am actually running the application through a container, but previous tests with a repl had the same issues. I suspect it has something to do with the code.
18:40:19
jeosol
edwlan[m]: one think I could do, is do a test and save the results of (room) but it doesn't return an result, just prints to the screen.
18:41:55
edwlan[m]
You could jump to source and look at its implementation too, there’s probably some implementation-specific API for this information.
18:43:25
jeosol
one thing I could do, is rebuild the container, but have a new function using (room) and extract some info say every 30mins and save that to a file. If the run fails, I am still able to view the profile
0:37:20
yitzi
There are commits from Rettig from at least 2016 in the Franz github repo. Some from last year also, although those are coauthored.
0:38:33
yitzi
Lots of other examples, but here is one https://github.com/franzinc/loop/commits/master
2:03:49
masinter
i never liked the MAP functions, you had to add all of this (FUNCTION (LAMBDA (X) ... around the meat of what you were doing, which wa an iteration. And if the iteration used variables outside the scope of the function, you had to prove that you didn't have to make a thunk. I'd get rid of MAPxxxx and tell people just use loop.
2:17:51
bjorkintosh
I bet it's because lisp is so malleable, that instead of attracting obedient users who accepted things as they are, it attracted followers who all made attempts to mold it in their own image.
2:25:11
mariari
MAPCAR is a nice function. and MAPCAN, is basically the monadic bind function. it has a weird mutation that makes it subotpimal in some scenarios but overall I'd much rather use it than LOOP
2:25:31
mariari
MAPCAR is quite limited, where as a LOOP can do a lot, thus I don't have to read MAPCAR, if I see it, I have a rough idea on the control flow
2:26:37
masinter
i tell people that my greatest contribution to the Common Lisp standard was inventing the form you had to fill out to get a change to the language passed in the cleanup committee
2:27:31
masinter
where you had to list the problem you were solving without making reference to your solution
2:27:50
masinter
and for every solution you had to list the costs & benefits to users and implementations
2:28:49
masinter
well, it was hard to get moon and fahlman and me to agree to anything, but i got people to agree that the form was filled out correctly
2:29:53
masinter
and it avoided the situation where the problem was serious but the proposed solution sucked