POV-Ray : Newsgroups : povray.beta-test : Restructured Parser wants Testing : Re: Restructured Parser wants Testing Server Time
6 May 2024 03:23:16 EDT (-0400)
  Re: Restructured Parser wants Testing  
From: clipka
Date: 24 May 2018 08:13:18
Message: <5b06ac5e$1@news.povray.org>
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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.