Executing native Java']Java code in R: an approach based on a local server

被引:1
|
作者
Fortin, Mathieu [1 ]
机构
[1] Canadian Forest Serv, Canadian Wood Fibre Ctr, Ottawa, ON, Canada
关键词
Interoperability; !text type='Java']Java[!/text] local server; TCP/IP connection; R vectorization; !text type='Java']Java[!/text] Native Interface;
D O I
10.7717/peerj-cs.300
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
The R language is widely used for data analysis. However, it does not allow for complex object-oriented implementation and it tends to be slower than other languages such as Java, C and C++. Consequently, it can be more computationally efficient to run native Java code in R. To do this, there exist at least two approaches. One is based on the Java Native Interface (JNI) and it has been successfully implemented in the rJava package. An alternative approach consists of running a local server in Java and linking it to an R environment through a socket connection. This alternative approach has been implemented in an R package called J4R. This article shows how this approach makes it possible to simplify the calls to Java methods and to integrate the R vectorization. The downside is a loss of performance. However, if the vectorization is used in conjunction with multithreading, this loss of performance can be compensated for.
引用
收藏
页数:27
相关论文
共 50 条
  • [31] Teachers assistant: A Web-based application using Java']Java server pages and Java']Java database connectivity
    Barua, S
    SMC 2000 CONFERENCE PROCEEDINGS: 2000 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN & CYBERNETICS, VOL 1-5, 2000, : 828 - 833
  • [32] Component-Based Java']Java Legacy Code Refactoring
    Arboleda, Hugo
    Paz, Andres
    Royer, Jean-Claude
    REVISTA FACULTAD DE INGENIERIA-UNIVERSIDAD DE ANTIOQUIA, 2013, (68): : 104 - 114
  • [33] A local approach for temporal model checking of Java']Java bytecode
    Santone, A
    Vaglini, G
    JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 2005, 70 (02) : 258 - 281
  • [34] NatiSand: Native Code Sandboxing for Java']JavaScript Runtimes
    Abbadini, Marco
    Facchinetti, Dario
    Oldani, Gianluca
    Rossi, Matthew
    Paraboschi, Stefano
    PROCEEDINGS OF THE 26TH INTERNATIONAL SYMPOSIUM ON RESEARCH IN ATTACKS, INTRUSIONS AND DEFENSES, RAID 2023, 2023, : 639 - 653
  • [35] Web-Server Implementation of Code Completion Problem for Java']Java Programming Learning Assistant System
    Kyaw, Htoo Htoo Sandi
    Funabiki, Nobuo
    Ishihara, Nobuya
    Kuribayashi, Minoru
    Kao, Wen-Chung
    2019 IEEE INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS - TAIWAN (ICCE-TW), 2019,
  • [36] Benchmark of a PI Controller Implemented in Java']Java and Native Code on the Android™ Platform Embedded on ARM
    Melo, R. R.
    Caratti Filho, E.
    Casillo, D. S. S.
    Villarreal, E. R. L.
    IEEE LATIN AMERICA TRANSACTIONS, 2015, 13 (08) : 2488 - 2494
  • [37] JAVA']JAVA APPLICATION FAULT TOLERANCE TOWARDS UNSAFE NATIVE CODE INVOCATION USING PROCESSBUILDER
    Hooi, Yew Kwang
    Oxley, Alan
    PROCEEDINGS OF THE 2011 3RD INTERNATIONAL CONFERENCE ON SOFTWARE TECHNOLOGY AND ENGINEERING (ICSTE 2011), 2011, : 115 - 120
  • [38] AN APPROACH ON REMOTE LABORATORIES USING MATLAB WEB SERVER AND EASY JAVA']JAVA SIMULATIONS
    Crespo, R.
    Barber, R.
    Monje, C. A.
    Malfaz, M.
    INTED2012: INTERNATIONAL TECHNOLOGY, EDUCATION AND DEVELOPMENT CONFERENCE, 2012, : 6408 - 6417
  • [39] Evaluating the Java Native Interface (JNI): Leveraging existing native code, libraries and threads to a running Java Virtual Machine
    Sotiriadis, Stelios
    Omosebi, Oladotun
    Ayapbergenova, Assem
    Saparkhojayev, Nurbek P.
    International Journal of Distributed Systems and Technologies, 2018, 9 (02): : 39 - 61
  • [40] A client-server design for interactive multimedia documents based on Java']Java
    Tsirikos, D
    Markousis, T
    Mouroulis, Y
    Hatzopsulos, M
    Vazirgiannis, M
    Stavrakas, Y
    INTERACTIVE DISTRIBUTED MULTIMEDIA SYSTEMS AND TELECOMMUNICATION SERVICES, 1998, 1483 : 248 - 259