right, sorry for not being clear about it: I was referring to the reusing previously created point objects (as in the property tree), by merely changing their x/y positions - and simply hiding those not needed (using the .hide() method) - which means that you'd basically only have the allocation overhead once (i.e. during initialization).
The other obvious optimization is using a cubic/qudratic curve instead of hundreds of line segments (as I mentioned previously).
Basically, the idea is to have as little property I/O as possible - in terms of total property updates, but also total number of individual properties vs. "parametric" updates that don't create as much I/O (see the property browser to inspect how many nodes are created/removed during each update). In that sense, removeAllChildren() works analogous to delete() or free() in C/C++, whereas createChild("...") works like new/malloc - so you'd want to minimize those, and ideally use a data structure/drawing type that is appropriate (e.g. using a parametric curve instead of tons of line segments to approximate a curve)
TheTom posted these, and a few other, optimization suggestions in the original "fgplot" thread, including Nasal/Canvas code snippets.
You can use systime() and/or debug.benchmark() to see how much of a difference this makes for this particular use-case.