DIGITAL LIBRARY
USING VECTORIZED CALCULATIONS IN SCILAB TO IMPROVE PERFORMANCES OF INTERPRETED ENVIRONMENT
1 Inter-biz, Informatic Services (CROATIA)
2 University North (CROATIA)
About this paper:
Appears in: INTED2020 Proceedings
Publication year: 2020
Pages: 2127-2136
ISBN: 978-84-09-17939-8
ISSN: 2340-1079
doi: 10.21125/inted.2020.0664
Conference name: 14th International Technology, Education and Development Conference
Dates: 2-4 March, 2020
Location: Valencia, Spain
Abstract:
Free and open-source software for numerical computations, Scilab, can be used as a good alternative to commercial tools such as Matlab in an education environment. Other tools, some of them also being completely free, are available - for example GNU Octave. This paper focuses on Scilab due to our experience in providing it as a valid alternative to Matlab to our STEM students - most of our lab exercises (basic matrix calculus, simple data transfer simulation (bit channel simulation and similar), basic signal generation and processing) were solved in both Matlab and Scilab giving proper results in "real-time". Of course, due to the completely different nature of execution of programming languages included in those tools, slower execution and lower calculation performance is expected in Scilab (which is interpreted, in contrast to JIT compilation in Matlab).

In this paper, possible improvement in Scilab execution performances is described, using so called vectorization methods. The paper includes some examples of both, the simple (slow) source code and the vectorization-based alternatives. Results showing the measured execution times are given, including the description of the measurement methods and approach used. The results show that huge performance improvements can be achieved in some test cases. Of course, that may vary based on the problem being solved - it cannot be concluded that vectorization can be used on each and every problem - therefore, there will still be cases in which the performances will be impacted by the slow nature of interpretation-based execution. Some initial thoughts and measurements related to problem scalability and possible impact to the performance are also included prior to final conclusions.
Keywords:
Scilab, vectorization, performance, source code, execution.