Empirical Study Between Compiled, Interpreted, and Dynamic Programming Languages Applying Stable Ordering Algorithms (Case Study: Java, Python, Jython, Jpype and Py4J)

Abstract

This article allows to investigate benchmark between programming languages, with the objective of identifying the performance between the execution time and the memory use between the Java and Python languages, as well as, in three implementations of dynamic languages that combine the two aforementioned languages: Jython, Jpype, Py4J. According to the results, it is concluded that the language that obtains the best performance is Py4J.


 


Keywords: programming languages, benchmark, algorithms, compilers

References
[1] P. Goyal, “Comparative Study of C, Java, C # and Jython,” University of North Florida, 2014.


[2] D. Singh, “An Empirical Study of Programming Languages from the Point of View of Scientific Computing,” Int. J. Innov. Sci. Eng. Technol, vol. 4, no. 6, pp. 367–371, 2017.


[3] C. Seberino, “Python: Faster and Easier Software Development,” Annu. Conf. Calif. San Diego, pp. 3–5, 2012.


[4] Prechelt, “An empirical comparison of c, c++, java, perl, python, rexx, and tcl for a search/string-processing program,” 2000.


[5] E. Meijer and P. Drayton, “Static Typing Where Possible, Dynamic Typing When Needed: The End of the Cold War Between Programming Languages,” 2004.


[6] T. Koulouri, S. Lauria, and R. D. Macredie, “Teaching Introductory Programming: A Quantitative Evaluation of Different Approaches,” Trans. Comput. Educ., vol. 14, no. 4, p. 26:1–26:28, 2014.


[7] A. Sarimbekov, A. Sewe, and S. Kell, “A Comprehensive Toolchain for Workload Characterization Across JVM Languages,” Proc. 11th …, pp. 9–16, 2013.


[8] G. Savrun-Yeniçeri, W. Zhang, H. Zhang, E. Seckler, C. Li, S. Brunthaler, P. Larsen, and M. Franz, “Efficient hosted interpreters on the JVM,” ACM Trans. Archit. Code Optim., vol. 11, no. 1, pp. 1–24, 2014.


[9] A. Sarimbekov, A. Podzimek, L. Bulej, Y. Zheng, N. Ricci, and W. Binder, “Characteristics of dynamic JVM languages,” Proc. 7th ACM Work. Virtual Mach. Intermed. Lang. - VMIL ’13, pp. 11–20, 2013.


[10] W. H. Li, D. R. White, and J. Singer, “JVM-hosted languages,” Proc. 2013 Int. Conf. Princ. Pract. Program. Java Platf. Virtual Mach. Lang. Tools - PPPJ ’13, pp. 101–112, 2013.


[11] A. Roghult, “Benchmarking Python Interpreters,” KTH Royal Institute of Technology School, 2016.


[12] S. V. Chekanov, “Numeric Computation and Statistical Data Analysis on the Java Platform - Chapter,” 2016.


[13] J. Juneau, J. Baker, V. Ng, L. Soto, and F. Wierzbicki, The Definitive Guide to Jython. Apress, 2010.


[14] S. Richthofer, “JyNI - Using native CPython-Extensions in Jython,” Proc. 6th EUR. CONF. PYTHON Sci. (EUROSCIPY 2013), no. Euroscipy, pp. 59–64, 2014.


[15] Jpype, “JPype - Java to Python integration.” [Online]. Available: http://jpype. sourceforge.net/.


[16] B. Dagenais, “Py4j - a bridge between python and java.” [Online]. Available: https: %0A//www.py4j.org/.


[17] K. Fuchsberger and Y. I. L. Cern, “PyMad – INTEGRATION OF MadX IN PYTHON,” Proc. IPAC2011, San Sebastián, Spain, pp. 2289–2291, 2011.


[18] M. Sewak and S. Singh, “Optimal State Recommender Solution,” 2016 Int. Conf. Internet Things Appl. Maharashtra Inst. Technol. Pune, India 22 Jan - 24 Jan, 2016, pp. 101–106, 2016.


[19] H. O. Hatzel, B. J. Kunkel, E. J. Kunkel, Z. Prof, and T. Ludwig, “Extracting Semantic Relations from Wikipedia using at Fachbereich Informatik,” Universitat Hamburg, 2017.


[20] M. E. Verjaga, “Análisis de datos y extracción de conocimiento utilizando BigData,” Universidad de Jaén, 2018