MATLAB programming is one of my regular activities. My increasing need for computation performance made me finally revise if MATLAB is the right programming language for heavy number crunching.
Ok, it's easy to write the scripts. They do run quite fast if the problems are well vectorized and the argument dimensions carefully chosen. But when some simulations started to last for a week and more, I tried to boost some frequently used functions. Imagine my astonishment when I just finished writing my own exponential function and found it nearly twice as fast as the built-in one...
If you need performance, try out the library archives published in the download section. You may find it helpful to consult the programming hints.
By replacing most of the time-consuming elementary functions, I was able to double overall performance of my simulations. Please fasten your seat belts before installing the libraries.
Any warranty is strictly refused. Don't rely on any financial or technical support in case of malfunction or damage.
Comments are welcome. I will try to track reported problems and fix bugs.
Only the latest releases are listed here. For a complete history, please refer to the particular pages.
Linux port of the double class.
Service release of the vector functions.
Service release of the double class.
Service release of the extended class.
Initial release of the MEX-Builder.
Release 1.2 of the Flex99OEM-12C correlator interface.
Initial release of the single class.
Initial release of the Flex02-08D correlator interface.
Bug fixes: substituted CPUTIME by NOW for compatibility with MATLAB 7.x in correlator interfaces.
Initial release of the Hankel transforms.
Bug fix in FHT thanks to Mark W. Sprague.
Release of the double class under the GNU Lesser General Public License (LGPL) version 2.1.
Initial release of the error function of complex numbers.
Optimized routine for calculating the exponential according to Agner Fog, "Optimizing subroutines in assembly language," at Copenhagen University College of Engineering. Update of the double, single and extended classes.
Initial release of Flex02-01D interface.
Bug fix: file name template specification now compatible with MATLAB 7.x.
Release of the error function under the GNU Lesser General Public License (LGPL) version 2.1.
Update of Flex02-0xD/C interfaces.
Update of the discrete Hankel transform thanks to Nicolas Grisouard.
© 2011 École Polytechnique Fédérale de Lausanne