Industrial Data Science
in C# and .NET:
Simple. Fast. Reliable.

ILNumerics - Technical Computing

Modern High Performance Tools for Technical

Computing and Visualization in Industry and Science


High Speed Performance

Usually there is a trade off between syntactical convenience and execution speed. ILNumerics gives you the best of both worlds - speed and convenience! The following example is a nice illustration. We want to add two large matrices and compute the column sums. You find the C version first, the ILNumerics version is below:

ILNumerics' array syntax is not only much shorter. It is also faster:

Execution times, 2000 x 2000 double matrix, column sums, 100 repetitions:

C Version:     8.020 ms                                        

ILNumerics:    5.770 ms                             

This becomes even more obvious when taking the row sums instead:

Execution times, 2000 x 2000 double matrix, row sums, 100 repetitions:

C Version:     43.650 ms                                       

ILNumerics:     5.550 ms        

The ILNumerics Computing Engine has been developed for numerical algorithms on large data and uses most of the optimizations that gained FORTRAN its great success. ILNumerics internally unrolls large loops and keeps the processor caches in mind. In addition, it eliminates array boundary checks by using efficient pointer arithmetics. A new parallelization scheme automatically adopts its parameters at runtime, being more efficient on multicore processors and applicable for large-sized and even for low and mid-sized data.

Download your free trial here!