[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: bit.lshift and performance - luabitop v.s. lua-5.2.0-work4
- From: Leo Razoumov <slonik.az@...>
- Date: Fri, 15 Oct 2010 07:04:53 -0400
On Thu, Oct 14, 2010 at 02:56, David Kastrup <dak@gnu.org> wrote:
>
> It has no native multidimensional array type. And no, a vector of
> pointer-accessed vectors does not cut it as it bypasses the optimizer
> knowledge about storage locations and their relative positions, kills
> aliasing analysis and causes out of band memory accesses. If it weren't
> for that design deficiency, C would long have succeeded Fortran for
> hardcore numerical work.
>
>> In my tests of event driven processing LuaJIT-1.5 beats MATLAB
>> (R2010a) 50 to 1 in processed events per second.
>
> MATLAB is not a language designed for efficient scalar processing.
>
> --
> David Kastrup
>
Actually, C/C++ chips aways on numerics from Fortran quite aggressively.
Most of high performance vector/matrix operations in C/C++ libraries
are implemented in assembler, see Goto BLAS, ATLAS or Intel's MKL.
Also, numerics is not limited to supercomputer simulations like
weather forecasting (favorite Fortran venue). I never heard of Fortran
used in software defined radio, DSP or real-time time series analysis
on embedded devices, etc. Nowadays, the palette of applications is
broader than it was in 70-s when Fortran used to be the king.
AFAIK, MATLAB does not use Fortran anymore.
What language would you choose if you have event driven processing
with some vector operations? MATLAB does vector stuff fine and chocks
on event processing badly. C/C++ and possibly LuaJIT does events very
well and does vector stuff very decently through assembler optimized
libraries.
--Leo--