|
|
Am 24.05.2018 um 10:04 schrieb Kenneth:
> Now I'm wondering why my 'city buildings' scene showed almost identical times
> (3.7.0 vs. the 3.8 tokenizer), whereas Stephen's scene shows such a nice change.
> The bulk of his scene is basically composed of four 'structures':
>
> mesh2 meshes
> trace(...)
> #while loops (three)
> height_field (one)
>
> My own scene has only two of those four:
> trace(...) -- but not nearly as many trace 'rays' as Stephen's
> #while loops
>
> From this, it makes me wonder if the bulk of the parse-time-speedup is in mesh2
> meshes and/or trace. Or maybe it isn't that simple to separate out where the
> improvements originate from(?)
There is no speedup to be expected in the trace() function, nor is there
any speedup to be expected in mesh2 /per se/.
Just as a hunch, does your loop invoke any macros?
If so, it's fundamentally different from Stephen's loop: The latest
v3.8.0-x.tokenizer version can execute his loop from memory without
performing any file access during the loop, but only because it does not
invoke any macros.
Each return from macro currently causes the file buffer to be re-loaded.
To make matters worse, this re-loads only the portion /after/ the
location the macro returns to, so when the end of the loop is reached,
the next iteration requires another buffer re-load to get back to the
start of the loop.
Post a reply to this message
|
|