another speedup idea

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

another speedup idea

jon_bondy
Maybe this has been suggested before.

I have an 8 core system: most of the time, I'm only using 1 or 2 cores. 
Suppose that OpenSCAD was always monitoring the source code, and kept
every module pre-compiled (F6) so long as the text cursor was not inside
a module.  If this was interruptible (when the source code of a module
was changed), the result could be increased responsiveness when the user
pressed F6.  The feature would only be available on systems with (say)
more than 2 cores, and could be enabled and disabled.

I'm sure there are cases where this would backfire, but if the cores are
just sitting there, why not pre-compute as much as we can?

I know that render() can do this manually.  I'm talking about something
automatic.

Jon

--
Sent from my desktop computer.
I do not receive emails while away from my desk,
nor do I receive texts on my main phone number
(which is a land line).
If you know that I am on the road, please text me.
If you know that I am home, please email me.


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: another speedup idea

Troberg
Compiling is pretty fast, it's the rendering that takes time, and that can't
be done in advance. Consider this module:

module screw(diameter, length, headtype)

This takes several parameters, and depending on them, returns a different
object. There is no way you can pre-render that if you don't know the
parameters it'll be called with.

Heck, I can take it one step further:

module row(distance, number)

This takes the supplied objects (children();) and places number copies in a
row, starting with the position of the first one. That will not even have
the objects until runtime.



--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org