Sea of Words is now in Beta (or something?)... Some Numbers

I've gotten Sea of Words through the test suite and Bootstrap...and running the scenarios that have GitHub Actions (rebol-httpd, rebol-odbc, rebol-whitespacers.) And I got it working in the web console too, of course!

(Note: If the web console seems sluggish these days don't blame Sea of Words...I started using UPARSE in it, and right now UPARSE is in full-on experimental mode. It's a beast, so using it at all--even on trivial samples--will be resource intensive.)

Some Easy-To-Get Numbers For The Moment

These numbers should be taken with a grain of salt... they don't measure everything, and some things shift around in ways that are hard to quantify. But they're better than nothing.

(Note: I actually had to fix a bug in the evaluation count that was giving wild answers. R3-Alpha lacked a double-check on its optimized method of incrementing the total evaluation count without needing to so every time in the loop...)

Prior to Sea of Words

Here is a report from a freshly booted desktop build on Windows, which avoids trying to read the executable into memory:

>> stats/profile
== make object! [
    evals: 123702
    series-made: 53630
    series-freed: 27122
    series-expanded: 728
    series-bytes: 3460161
    series-recycled: 25447
    made-blocks: 33403
    made-objects: 191
    recycles: 3
]

After Sea of Words

>> stats/profile
== make object! [
    evals: 138386
    series-made: 72860
    series-freed: 39697
    series-expanded: 706
    series-bytes: 3270669
    series-recycled: 20856
    made-blocks: 52054
    made-objects: 221
    recycles: 3
]

On the bright side, Sea of Words is not only a watershed moment in binding/modules, it's also saving 189K or so of memory, even just here in its first debut.

You may be wondering why there are so many more blocks. The answer is that they're very tiny optimized stub blocks, used to hold individual variables that are floating in the "sea". This is expected and purposeful. As shown, the total memory use went down...

This is Really Only A Beginning

While the abilities that just came into play are a tremendous step for making a "real" and usable module system, there is significantly more left. I'll be posting more on those issues after some :zzz:

2 Likes