Whole-known-network
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@samth" class="u-url mention">@<span>samth</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@wingo" class="u-url mention">@<span>wingo</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@sayrer" class="u-url mention">@<span>sayrer</span></a></span> 1/n Perhaps we didn't spell it out as clearly as we could. Low-pause (concurrent copying) collectors have applicable situations: 1) you have a big enough heap, and you cannot tolerate the pauses if only marking is done concurrently, AND 2) you need to have enough spare compute resources such that the concurrency overheads don't affect your mutator performance (read barriers and copying induce more overheads than write barriers and tracing), AND 3) you need to</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> type of girlthing that doesn't even need to put ΔΣ in bio because she's an ADC</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@samth" class="u-url mention">@<span>samth</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@wingo" class="u-url mention">@<span>wingo</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@sayrer" class="u-url mention">@<span>sayrer</span></a></span> "GMV" is the nominal minimum heap size for the "vlarge" configuration. The minheap for h2 for the default configuration is 681 MB. The LBO graphs explores 1x to 6x heap, hence only going up to 4 GB in Figure 22.</p><p>I also made this handy website for you to compare the nominal stats of different benchmarks. <a href="https://www.dacapobench.org/stats/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://www.</span><span class="">dacapobench.org/stats/</span><span class="invisible"></span></a></p>
<p>My TCL notes file:</p><p>{} => ""<br />[] => ``<br />set x y => x = y<br />[expr {…}] => "act like a programming language"<br />[eval {…}] => {act like ""}<br />$ and [] work within "" but not {}<br />eq ne in ni<br />einter => coerce<br />proc parameter named "args" is variadic if last<br />first $ in $$a does nothing<br />format => sprintf<br />lsearch and regexp are different<br />for {} {} {} => for(;;)<br />[subst $$a] => dereference $a<br />[string is …] => typecheck<br />strings are not strings</p><p>Before running:<br />sudo apt install rlwrap <br />alias tclrl='rlwrap tclsh'</p>
<p>Answers to the above questions per <a href="https://mastodon.social/tags/tcl" class="mention hashtag" rel="tag">#<span>tcl</span></a> on libera:</p><p>- Type compatibility in tcl can be tested with [string is …]. "Actual" (interpreter level) type is apparently not exposed. <a href="https://www.tcl-lang.org/man/tcl8.6/TclCmd/string.htm#M10" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://www.</span><span class="ellipsis">tcl-lang.org/man/tcl8.6/TclCmd</span><span class="invisible">/string.htm#M10</span></a></p><p>- Strings can be concatenated with [string cat …].</p><p>- Arrays are "weird"; they live in a single scope and can't be exported or passed to a function except by breaking things with "upvar". Additionally, dicts are ordered. "arrays" feel like an old version of "dicts" and I think I intend to avoid them</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@gamingonlinux" class="u-url mention">@<span>gamingonlinux</span></a></span> Thanks, Gaben!</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> 😮</p>
<p>Here are my TCL questions:</p><p>- I see that there are "integer", "wide integer", "float", "list" and string types in TCL. Is there a builtin that can discern which type a variable has and/or discern which type[s] a variable can be coerced to?</p><p>- Is there a string concatenation operator? (besides "$a$b").</p><p>- What is the difference between an array¹ and a dict? The tutorial makes it clear both exist and explain the difference very poorly.</p><p>¹ This refers to an associative array not a list</p>
<p>Okay. I actually was able to get through the TCL docs very quick. I would have got through it even quicker if I occasionally hadn't had to stop and do something else for a while because something pissed me off.</p><p>I am tempted to call this an "elegant" spec. I think I would actively like this language if the syntax were restricted somewhat for safety (e.g. if {} were *required* for things such as expr, if, for instead of "you can leave them out but then it probably does something horribly wrong").</p>