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

tgt

High Performance Computing for Numerical Algorithms

There are two major reasons why software development is more convenient and efficient with .NET. Firstly, modern object-oriented programming languages allow programmers to write high level code, which abstracts away platform specifics and makes it easier to handle large projects.

Secondly, automatic memory management helps avoid the serious errors that can happen when developers use native languages such as C or FORTRAN.

Automatic memory management is the reason for low performance of managed software frameworks when it comes to mathematical algorithms and large data.

Therefore, ILNumerics provides its own automatic memory management: it is optimized for numerical algorithms and consequently re-uses memory blocks for all mathematical objects. In ILNumerics, these objects (intelligent arrays) contain information about their lifetime; this allows the ILNumerics memory management to collect used memory in a pool and to avoid unnecessary reallocations.

 

 

THE PERFORMANCE OF ILNUMERICS CATCHES UP WITH NATIVE LANGUAGES
 

 

ILNumerics circumvents .NET’s automatic memory management using modern OOP principles and realizes the required high execution speed of numerical algorithms while retaining optimal syntactical convenience.

.NET provides extended optimization options

In addition to the efficient memory management, ILNumerics uses .NET’s extended optimization features which are not, for example, available on the Java platform. This includes methods which have made native languages such as C/C++ so fast: pointer arithmetics, cache optimization, and loop unrolling are all utilized by ILNumerics internally.

All this gives mathematical algorithms on the.NET framework a performance similar to traditional native languages – right within a modern software framework.