ScalaLab is a MATLAB-like environment for the Java Virtual Machine(JVM).ScalaLab is based on the Scala programming language.It utilizes an extensive set of Java and Scala scientific libraries and also has access to ma...ScalaLab is a MATLAB-like environment for the Java Virtual Machine(JVM).ScalaLab is based on the Scala programming language.It utilizes an extensive set of Java and Scala scientific libraries and also has access to many native C/C++scientific libraries by using mainly the Java Native Interface(JNI).The performance of the JVM platform is continuously improved at a fast pace.Today JVM can effectively support demanding high-performance computing and scales well on multicore platforms.However,sometimes optimized native C/C++code can yield even better performance,by exploiting low-level programming issues,such as optimization of caches and architecture-dependent instruction sets.The present work reports some of the experiences that we gained with experiments with both Just in Time(JIT)JVM code and native code.We compare some aspects of Scala and C++that concern the requirements of scientific computing and highlight some strong features of the Scala language that facilitate the implementation of scientific scripting.This paper describes how ScalaLab tries to combine the best features of the JVM with those of the C/C++technology,in order to implement an effective scientific computing environment.展开更多
文摘ScalaLab is a MATLAB-like environment for the Java Virtual Machine(JVM).ScalaLab is based on the Scala programming language.It utilizes an extensive set of Java and Scala scientific libraries and also has access to many native C/C++scientific libraries by using mainly the Java Native Interface(JNI).The performance of the JVM platform is continuously improved at a fast pace.Today JVM can effectively support demanding high-performance computing and scales well on multicore platforms.However,sometimes optimized native C/C++code can yield even better performance,by exploiting low-level programming issues,such as optimization of caches and architecture-dependent instruction sets.The present work reports some of the experiences that we gained with experiments with both Just in Time(JIT)JVM code and native code.We compare some aspects of Scala and C++that concern the requirements of scientific computing and highlight some strong features of the Scala language that facilitate the implementation of scientific scripting.This paper describes how ScalaLab tries to combine the best features of the JVM with those of the C/C++technology,in order to implement an effective scientific computing environment.