{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,8,22]],"date-time":"2022-08-22T21:40:28Z","timestamp":1661204428790},"reference-count":23,"publisher":"World Scientific Pub Co Pte Ltd","issue":"05","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Int. J. Model. Simul. Sci. Comput."],"published-print":{"date-parts":[[2018,10]]},"abstract":"<jats:p>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[Formula: see text] scientific libraries by using mainly the Java Native Interface (JNI).<\/jats:p><jats:p>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\/[Formula: see text] code can yield even better performance, by exploiting low-level programming issues, such as optimization of caches and architecture-dependent instruction sets.<\/jats:p><jats:p>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[Formula: see text] 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[Formula: see text] technology, in order to implement an effective scientific computing environment.<\/jats:p>","DOI":"10.1142\/s179396231850037x","type":"journal-article","created":{"date-parts":[[2018,5,9]],"date-time":"2018-05-09T02:31:05Z","timestamp":1525833065000},"page":"1850037","source":"Crossref","is-referenced-by-count":1,"title":["The design of JVM and native libraries in ScalaLab for efficient scientific computation"],"prefix":"10.1142","volume":"09","author":[{"given":"Stergios","family":"Papadimitriou","sequence":"first","affiliation":[{"name":"Computer and Informatics Engineering Department, Technological Educational Institute of Eastern, Macedonia and Thrace, Kavala, 65404, Greece"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lefteris","family":"Moussiades","sequence":"additional","affiliation":[{"name":"Computer and Informatics Engineering Department, Technological Educational Institute of Eastern, Macedonia and Thrace, Kavala, 65404, Greece"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"219","published-online":{"date-parts":[[2018,10,30]]},"reference":[{"key":"S179396231850037XBIB001","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2010.77"},{"key":"S179396231850037XBIB002","volume-title":"Programming in Scala","author":"Odersky M.","year":"2016"},{"key":"S179396231850037XBIB003","doi-asserted-by":"publisher","DOI":"10.1145\/1356052.1356053"},{"key":"S179396231850037XBIB004","first-page":"379","volume":"20","author":"Papadimitriou S.","year":"2012","journal-title":"Sci. Program."},{"key":"S179396231850037XBIB005","doi-asserted-by":"publisher","DOI":"10.1201\/9780203507643"},{"key":"S179396231850037XBIB006","volume-title":"Professional C","author":"Gregoire M.","year":"2014","edition":"3"},{"key":"S179396231850037XBIB009","volume-title":"Programming Scala","author":"Dean Wampler D.","year":"2009","edition":"2"},{"key":"S179396231850037XBIB011","series-title":"Vol. 1 Fundamentals, Vol. 2 Advanced Techniques","volume-title":"Core Java","author":"Horstmann C.","year":"2008","edition":"8"},{"key":"S179396231850037XBIB012","doi-asserted-by":"publisher","DOI":"10.1016\/S0045-7949(03)00301-8"},{"key":"S179396231850037XBIB013","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2011.06.002"},{"key":"S179396231850037XBIB015","doi-asserted-by":"publisher","DOI":"10.1016\/j.procs.2010.12.080"},{"key":"S179396231850037XBIB016","volume-title":"The C Programming Language","author":"Stroustrup B.","year":"2013","edition":"4"},{"key":"S179396231850037XBIB017","volume-title":"Effective Modern C Specific Ways to Improve Your Use of C and C","author":"Meyers S.","year":"2014"},{"key":"S179396231850037XBIB018","volume-title":"Optimized C","author":"Guntheroth K.","year":"2016"},{"key":"S179396231850037XBIB019","volume-title":"Colored Local Tree Inference","author":"Odersky M.","year":"2001"},{"key":"S179396231850037XBIB020","volume-title":"Numerical Recipes in C The Art of Scientific Computing","author":"Press W. H.","year":"2002","edition":"2"},{"key":"S179396231850037XBIB021","doi-asserted-by":"crossref","first-page":"12","DOI":"10.1145\/2755561","volume":"42","author":"Van Zee F. G.","year":"2016","journal-title":"ACM Trans. Math. Softw."},{"key":"S179396231850037XBIB022","unstructured":"Aho A., Lam M. S., Sethi R., Ullman J. D. , Compilers, Principles, Techniques, & Tools, 2nd edn. Addison-Wesley, 2007."},{"key":"S179396231850037XBIB023","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2009.126"},{"key":"S179396231850037XBIB025","doi-asserted-by":"publisher","DOI":"10.1137\/1.9780898719604"},{"key":"S179396231850037XBIB026","doi-asserted-by":"publisher","DOI":"10.1137\/1.9780898718881"},{"key":"S179396231850037XBIB028","volume-title":"Programming \u2014 Principles and Practice Using C","author":"Stroustrup B.","year":"2014","edition":"2"},{"key":"S179396231850037XBIB029","first-page":"409","volume":"2223","author":"Papadimitriou S.","year":"2016","journal-title":"Lect. Notes Eng. Comput. Sci."}],"container-title":["International Journal of Modeling, Simulation, and Scientific Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.worldscientific.com\/doi\/pdf\/10.1142\/S179396231850037X","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,8,22]],"date-time":"2022-08-22T21:20:04Z","timestamp":1661203204000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.worldscientific.com\/doi\/abs\/10.1142\/S179396231850037X"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,10]]},"references-count":23,"journal-issue":{"issue":"05","published-online":{"date-parts":[[2018,10,30]]},"published-print":{"date-parts":[[2018,10]]}},"alternative-id":["10.1142\/S179396231850037X"],"URL":"https:\/\/doi.org\/10.1142\/s179396231850037x","relation":{},"ISSN":["1793-9623","1793-9615"],"issn-type":[{"value":"1793-9623","type":"print"},{"value":"1793-9615","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,10]]}}}