Example1 – Benchmark

Example1 – Benchmark

This second example program measures the performance of Fade2D on your computer.

for(int numPoints=100000;numPoints<=1000000;numPoints+=100000)
{
    // Create random points
    cout<<"\n"<<numPoints<<" points: "<<endl;
    std::vector<Point2> vInputPoints;
    for(int i=0;i<numPoints;++i)
    {
            double x=-100+(200.0*rand()/(RAND_MAX+1.0));
            double y=-100+(200.0*rand()/(RAND_MAX+1.0));
            vInputPoints.push_back(Point2(x,y));
    }

    timer("INSERT"); // Start timer

    Fade_2D dt(numPoints);
    dt.insert(vInputPoints); // Triangulate

    timer("INSERT"); // Stop timer
}

1 Million Points on a Core i7 6800K

This Delaunay triangulation benchmark has been run on one core of a desktop computer (Core i7 6800K). One million points (2 million triangles) take 0.42 seconds.

fade-Performance

Delaunay Triangulation Performance of Fade2D

Huge Datasets – Up to 100 Million Points on a Core i7 6800K

The same machine has been used to test Fade2D with huge datasets. 10 million points take 4.465 seconds while 100 million points take 47.82 seconds: The time consumption behaves well, it grows almost linearly with the number of input points.

fade-Performance-big-data

Delaunay Triangulation Performance of Fade2D, big benchmark (10-100 million points)

Raspberry PI2 – 1 Million Points on an ARM Cortex A7

Whether it is a fun or even an important benchmark, Fade2D has been run on a comparably weak Raspberry PI2. It uses a Broadcom BCM2836 SoC containing a 32-bit ARM Cortex-A7 cpu.

This poor little 3-watt device has fought incredibly brave, it was only 16 times slower than a today’s top desktop computer with a 140-watt TDP. This result encourages us to provide support for further embedded devices. If you have any suggestions feel free to add your comments below.
Fade supports Rasbian on Raspberry PI (New in v1.46a)
Embedded Delaunay Performance

Delaunay Triangulation Performance on a Raspberry PI2

The next article Example2 – Traversing teaches you the important basics you need to access specific elements in a triangulation.

Leave A Reply

Your email address will not be published. Required fields are marked *

*

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close