Worthy of its own thread as its very impressive performance
Source is
https://github.com/delfrrr/delaunator-cppNote the original source is 2D, but the input point set is const, so the indexing seems to work on any array. See my notes in the code. It could have been faster, but the authors used their own point class, so there’s memory duplication.
GenTin Num Points = 1000004, time = 645.811500
total time Num Points = 1000004, time = 11666.346100
BricsCAD - GenTin Num Points = 1000004, time = 640.873300
BricsCAD - total time Num Points = 1000004, time = 47141.696700
Adding the faces could be optimized by using a transaction, instead of opening and closing the database a million times

here's the source