freenode/#sbcl - IRC Chatlog
Search
17:19:15
stylewarning
flip214: working on it again now; I don't think it has to do with inlining or anything like that
17:19:32
stylewarning
flip214: I think this has to do with some tricky business about where code is being loaded and why that location in RAM is faster.
17:20:59
rk[ghost]
stassats: aye. i figured i volunteered myself in asking, but i have been too far mentally from computers that it isn't easy for me to just get swinging agan
17:23:42
stylewarning
|3b|: the profiler didn't give me enough info to track down serious differences
17:23:47
stassats
stylewarning: even individual runs have too much variation, it's hard to diagnose anything
17:24:36
stylewarning
stassats: i started computing standard deviations, and while the stddev of all but the fast case are around 500ms, the difference in timing is still greater than the stddev
17:24:38
stassats
rk[ghost]: well, the fastest way for arm32 to grow threads would be for me to do it, but it's not pleasant and everyone should just use arm64
17:25:28
stylewarning
stassats: and interestingly, the stddev (120ms) in the fast case is about 80% smaller than the stddev (500ms) in the slow case
18:01:52
stylewarning
stassats: this is where i'm at now, where you have the avg (stddev): http://codepad.org/YD1iL2Kj
18:02:50
stylewarning
with this instrumenting, GCing before each run (but not GCing before each individual measure), the anomaly is in the third measurement (after reloading Y), and it's repeatable
18:34:04
rk[ghost]
stassats: i concur, but there are so many raspberrypis for instance, out in the wild
18:35:20
rk[ghost]
although, if i just wait a couple more years, maybe Novena2 will arise;P although hopefully they'll go RV64 and put even more to work:D
19:36:34
stylewarning
stassats: when code is reloaded/functions get redefined/(equivalent) structures get redefined, are they put in new memory?
19:39:04
stylewarning
(FWIW, I'm becoming less and less convinced this anomaly has anything to do with that, and more to do with randomness and the like.)
20:05:36
stylewarning
Anyway, the mystery has been solved. The benchmarks were just not very tasteful. Randomness and destructive effects weren't properly controlled between reloading. (In essence, the reloading had nothing to do with it.) We saw repeatable results because of (I think?) SBCL's policy to initialize the RNG the same way every time it starts.
20:06:09
stylewarning
so only by happenstance did we see the Nth reload always cause an improvement and the (N+1)st reload cause degradation.
20:09:35
stylewarning
thanks for all of the suggestions/help, even if the conclusion wasn't very satisfying.
20:32:20
stylewarning
stassats: now i can resume the usual program of me asking you for a POWER8+ port
22:24:16
decent-username
Good evening everyone. I'm a newbie coming for #clnoobs. When loading the following code https://pastebin.com/raw/ZzaYLuny with "sbcl --load file-name.lisp" and evaluating (dump-db), the formatting on the first line isn't correct. Can you reproduce this? I'm using SBCL 1.4.10 and Manjaro as my OS.
22:25:18
|3b|
try putting ~& at beginning, so it starts new line if it thinks it is in middle of a line
22:25:39
|3b|
might be confused by previous output (like a repl prompt, or output of compilation or whatever)
22:29:14
decent-username
It's fine for me. Doesn't bother me. I thought it might be interesting for the developers.
22:30:40
|3b|
no hack, you might have intentionally printed part of a line and wanted to continue it with next output
22:31:27
|3b|
if you printed it to a string or newly opened file, it would probably format as you expect
22:33:52
|3b|
yeah, ~% always goes to next line, ~& doesn't if it thinks it is at beginning of line already
22:34:40
|3b|
ACTION supposes it might be a slime/swank bug if it is putting its own output in middle of output stream without resetting that
22:35:25
stassats
you can just do at the bare repl (loop repeat 2 do (format t "~a: ~10t~a~%" 10 20))
22:35:44
decent-username
slime has no problem with it. Only after editing the function, recompiling it with "C-c C-c". And it's only the first time.
22:36:58
|3b|
yeah, in that case input confuses it, it outputs "* ", so it thinks it is in middle of line, then you type stuff and hit enter so it isn't, but output doesn't notice
22:37:47
|3b|
if you enter (terpri) (dump-db) on single prompt, it starts with "* TITLE: Home", with Homelined up correctly
22:39:25
decent-username
It's nothing major though. I formats everything fine, when putting the function call inside the source file and loading the entire thing with sbcl.
22:45:51
stassats
(loop repeat 2 do (format *terminal-io* "~a: ~10t~a~%" 10 20)) suffers no such problem
22:47:17
decent-username
Those advanced loop macros are too much for my juvenile Practical-Common-Lisp-chapter-3-brain.
23:15:21
White_Flame
there's nothing in the standard that exposes the currently assumed printing column, right?