Thank you guys. I didn't realize I had that extra semicolon. Sorry about that. I just assumed addpoint somehow optimized for same point positions.
newedgepoint or insertpointonedge or some other cool function would be very welcomed
Point Generate shows that it's extremely optimized. I just wasn't sure what else you could have done to make it faster other than creating new points on each thread. It's 10x faster than VEX for 1M points, 13x faster for 10M, and about 17x faster for 50M points.
I was curious if most topology changing operators could be implemented using VEX now that we have add/remove points, i.e. Catmull Clark subdivision, Fractal SOP, Relax, etc. If so, I would be really curious to see the speed differences. Actually this might be a good case for multi-threading existing SOPs