SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015
DOI : 10.5121/ijpla.2015.5301 1
A Performance Comparison Of C# 2013, Delphi
Xe6, And Python 3.4 Languages
Abdulkadir KARACI1
1
Department of Computer Engineering, Kastamonu University, Kastamonu, Turkey
ABSTRACT
C# 2013, Delphi XE6, and Python 3.4 are the newest and most popular programming languages. These
programming languages become more popular every passing day. In this study, the response times,
memory usages, and code lengths of these languages were tested in various workloads. Whether or not
there was any significant difference between the data obtained from workloads was tested via the Friedman
test. The test indicated a significant difference. In addition, the Wilcoxon signed rank test was used for
determining the effect size. This test showed that the level of the significant difference found in the
Friedman test was high.
KEYWORDS
C#, Delphi XE6, Performance Test, Python, Programming Language
1.INTRODUCTION
Most of the developers are choosing the managed programming language. Because, managed
language has the following features.
1. Data and memory type safety,
2. Perform the automatic memory management,
3. Dynamic code transmission
Further, most of these programming languages are object-oriented programming languages [1].
The languages C# 2013, Delphi XE6 are managed languages. The Python is unmanaged
language. Memory method of unmanaged programming languages is not automatic. Therefore
they are not safe.
Microsoft .NET platform has provided a robust framework. Thus, Windows applications have
been developed so much easier. [2]. The NET Framework is a complete “application”
development platform, which has been developed by the Microsoft and, which has been
established on open Internet protocols and standards. The scope of application concept here is
very broad. Everything from a desktop application to a web browser has been considered within
this platform and everything has been supported. [3].
Programmers and computer scientists conduct research on the advantages and disadvantages of
various programming languages. Gillings and compared C, C++, C#, Java, Perl, and Python
languages in terms of memory usage and speed of execution by using 3 standard bioinformatics
methods. C was found to be the strongest [4]. Arudchelvam et al. compared FORTRAN, C, and
Java programming languages in terms of memory usage and run-time. These three languages
were found to be equal in terms of run-time. FORTRAN was found to be using less memory [5].
Lutz Prechelt compared C, C++, Java, Perl, Python, Rexx, and Tcl programming languages in
terms of program length, programming effort, runtime efficiency, memory consumption, and
International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015
2
reliability [6]. Konstantin Berlin et al. compared Pthreads, OpenMP, MPI, and UPC parallel
computing APIs [7].
To contribute to works in this field, C# 2013, Delphi XE6, and Python 3.4 programming
languages were compared in terms of response time, memory usage, and code length in the
present study. These programming languages were chosen because they are popular and
commonly used.
2. EXPERIMENTAL STUDY
Of the 400 research articles in software engineering, which need experimental validation, 40% do
not include experiment at all and this ratio in other disciplines 15% [8]. Therefore, in this article,
in order to test the performance of programming languages, experimental algorithms have been
prepared. Whether there is a significant difference among the experimental results obtained have
been tested with the nonparametric Friedman test.
2.1. The Test Platform
2.1.1. The Structure of the Programming Languages Compared
C# is a general-purpose, type-safe, object-oriented programming language. The purpose of
programming language should be to improve the efficiency of the programmer. This purpose
programming language balances performance, expressiveness and simplicity. The C# language is
platform-neutral, but it was written to work well with the Microsoft .NET Framework [9].
On April 15, 2014 Embarcadero released RAD Studio XE6 which included Delphi XE6 and
C++Builder. It allows creating natively compiled apps for all platforms for both desktop and
mobile, and even wearable devices like Google Glass, with a single C++ or Object Pascal
(Delphi) codebasing. RAD Studio XE6 adds support for Android 4.4 KitKat. It also became
possible to create FireMonkey mobile apps for Android [10].
Python is a popular programming language that can develop both independent and script
applications. Python is a portable, strong, easy-to-use, and free programming language. Python is
an object-oriented, interpreted, modular, and interactive programming language. Its indentation-
based simple syntax facilitates learning and remembering it. Thus, it allows starting programming
without wasting any time in the details of syntax. It supports modular structure, class system, and
any input field. It is compatible with almost all platforms (e.g. Unix, Linux, Mac, Windows,
Amiga, Symbian Os). Python allows developing software in many fields such as systems
programming, user interface (GUI) programming, web programming, application, and database
software programming [11].
2.1.2 The Computer Properties
The features of the computer used in the performance test are as in the following:
• Dell N series Notebook
• Hard Disc: 700 Gigabyte
• RAM: 6 Gigabyte
• Processor: Intel I7 2670QM 2.20 Gigahertz
• Operation System: Windows 7 Professional
International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015
3
2.2. Workloads
The concept of workload is very important in modeling of computer systems [12]. The
performance evaluation using workload reduces quantity and cost of simulation [13].
Experimental system evaluations generally include workload programs. Every performance
evaluation program is worked with systems having different properties. The behavior of the
system is measured and its performance is interpreted [14]. Workload includes a list of services
that should be fulfilled by the system [2]. Workloads in this study are made up of different
programs. Each of these programs measures a different property of the programming language.
These workloads are shown in Table 1.
Table 1. Workloads
Workload
Code
Explanation
Hello [1] Printing of “Hello World” on the screen for 5000 times
Matrix [2] Multiplication of two matrices of 500 x 500 dimensions
Sorting [3]
Sorting of the series with 10000 elements, the element values of which are in the
worst situation with the Selection Sorting algorithm.
Sieve [4]
Estimation of the prime numbers at the interval of [1..8193] with the sieve
algorithm for 10.000 times
Empty
Cycle [5]
The empty cycle at the interval of [1.. 100000000]
Mean [6]
Estimation of the mean of the numbers at the interval of [1..3000] for 30000
times
Table [7]
Writing and Reading of the character knowledge
“abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz123456
7890abcdefgh” with a text file for 10000 times
The algorithms used as workloads have been coded in every language the performance of which
will be tested by using standard properties in a way that they are equal to each other. These
program codes have been converted into executable code (.exe) and their memory consumptions
and response times have been obtained from Windows 7 Command Prompt.
The Hello [1] program tests writing on the screen and loading performance of the program,
Matrix [2] and Mean [6] programs integer arithmetic performance, Sorting [3] program cycle and
logical decision performance. The Sieve [4] program to predict prime numbers by using the
classical Sieve Eratosthenes algorithm. The Sieve program tests the basic logical comparison and
integer arithmetic operation [15]. The Empty Cycle [5] program tests the loop performance of
programming languages. Table [7] program tests reading in the text file and writing performance.
[16].
2.3. Performance Metrics
Metrics used in the performance tests are shown in Table 2.
Table 2. Performance Metrics Used In The Performance Tests
Metrics of Performance
1 Length of Code (LOC or CLOC)
2 Time of Response (ms-mili second)
3 Memory Usege (KB (kilobyte))
International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015
4
2.3.1. The Code Length of the Programs Written
The number of the code is commonly used in order to measure the source code length of a
program. (LOC (line of code)) [17]. It is completed as LOC=NLOCK+CLOCK. NLOCK
(Uncommented Source Line of Code) is a code line which is not used during compilation. A
Commented Source Line of Code (CLOCK) is a code line which is used during compilation. The
best prediction should generally be performed as in the following in order to prediction the source
code length of a program.
1. Blank lines
2. Compiled lines (CLOC)
3. Data (variable, constant) definitions and other commands
4. Lines produced by the programming language
The density of the lines compiled can be calculated with CLOC*100/LOC formula [18]. The line
numbers of program codes used as a workload in this study have been calculated in line with the
explanations stated above and they have been shown in Table 3.
Table 3. Code Lengths of the Programs Written
Test
C# 2013 .net Delphi XE6
CL*
Data
Definitions
Produced
by the
Language L*
CL/L
(%) CL*
Data
Definition
Produced
by the
Language L*
CL/L
(%)
Hello [1] 6 0 11 17 35 5 1 8 14 36
Matrix [2] 19 5 11 35 54 19 3 8 30 63
Sorting
[3]
19 2 11 32 59 16 2 8 26 62
Sieve [4] 25 5 11 41 61 31 3 8 42 74
Empty
Cycle [5]
4 1 11 16 25 5 2 8 15 33
Mean [6] 12 3 11 26 46 13 2 8 23 57
Table [7] 18 4 11 33 55 22 5 8 35 63
Mean 48 55
Test
Python 3.4
CL*
Data
Definitions
Produced
by the
Language L*
CL/L
(%)
Hello [1] 5 1 0 6 83
Matrix [2] 12 4 0 16 75
Sorting
[3]
11 2 0 13 85
Sieve [4] 14 6 0 20 70
Empty
Cycle [5]
5 1 0 6 83
Mean [6] 8 1 0 9 89
Table [7] 14 1 0 15 93
Mean 83
International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015
5
* L:LOC CL:CLOC
The graphic of CLOC/LOC values given in Table III are shown in Figure 1.
Figure 1. Compiled Line density graphic (CLOC/LOC)
2.3.2. Time of Response
The concept of response time is very important in computer systems performance test studies.
Response time is the measurement of the time for which a user or an application has to wait until
a command requested is completed [12]. In this study, response times of workloads run in the
programming languages desired to be measured are given in Table 4.
Table 4. Response Time of Workloads on Windows Operation System (ms-millisecond)
Test
C# 2013 Delphi XE6 Python 3.4
Min Max Mean Min Max Mean Min Max Mean
Hello [1] 218 749 413 343 483 379 318 1117 591
Matrix [2] 2308 2511 2436,3 592 624 602,3 71820 80085 75181
Sorting [3] 265 327 283,5 280 327 305,5 27262 28204 27749,1
Sieve [4] 1076 1154 1101 920 1092 984,2 32196 32863 32288,5
Empty Loop [5] 358 436 381,6 312 374 333,9 10094 10693 10345,1
Mean [6] 374 421 405,2 312 359 330,7 16140 16927 16382,4
Table [7] 15 31 24,6 109 156 114 133 279 187,5
Mean 720,7 435,6 23246,4
International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015
6
Figure 2. Response Time Graphic of Workloads
Mean response times for all workloads are shown in Figure 3.
Figure 3. Mean Response Times for All the Workloads by the Programming Languages
2.3.3. Memory Consumption
Memory consumption of every workload has been obtained separately by programming
languages by using Windows Task Manager. These values are shown as Kilobyte (KB) in Table 5
Table 5. Memory Consumption (KB)
Workload C# 2013 Delphi XE6 Python 3.4
Hello [1] 1,5 0,7 2,3
Matrix [2] 4,2 3,6 2,3
Sorting [3] 1,4 0,7 2,5
Sieve [4] 1,4 0,7 2,4
Empty Loop [5] 1,4 0,7 2,3
Mean [6] 1,4 0,7 2,3
Table [7] 4,4 0,7 2,7
Mean 2,2 1,1 2,4
International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015
7
The graphic belonging to memory consumption data is shown in Figure 4.
Figure 4. Memory Consumption Graphic
2.4. Statistical Design
Minimal descriptive statistics contains the following for a data set: total observation number,
mean, median, standard deviation, minimal value, maximum value and number of observations.
Presentation of descriptive statistics data on dependent variable is significant [16, 19]. One-Way
ANOVA is used when searching the effect of one independent variables on a dependent variable
[20]. In this study, the dependent variable is response time, the independent variable is
programming languages. Significant results have been obtained by applying one-way ANOVA on
these dependent and independent variables. However, because variance equality assumption has
not been ensured, these results have not been presented in the article. Instead, the Friedman test, a
non-parametric method, has been used.
The Friedman test is the non-parametric correspondence of one-way ANOVA test. When the
same samples belonging to the subjects have been treated and when these samples have been
measured at three or more points, the Friedman test is used [20, 21].
The Friedman test has been used in order to find whether there is a significant difference among
response times obtained as a result of running of every workload on C# 2013, Delphi XE6 and
Python 3.4 programming languages. The Friedman test showed that there is a significant
difference between the response times of 3 different programming languages in all workloads
except for Hello[1]. The test data obtained from the Friedman test are shown in Table 6. In
addition, mean rank values and the general average of these values clearly indicate that Delphi
XE6 is the fastest programming language in terms of response time. Statistical results regarding
Hello[1] demonstrate that there is no significant difference for this workload in terms of response
time, 2
χ (2) = 1.4, p > .05.
International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015
8
Table 6. The Friedman Test Data
Wordload
Mean Rank
p
2
χ dfC# 2013 Delphi XE6 Python 3.4
Hello [1] 1,90 1,8 2,30 0,49 1,4
2
Matrix [2] 2 1 3 0 20
Sorting [3] 1,2 1,8 3 0 16,8
Sieve [4] 1,95 1,05 3 0 19,54
Empty Loop [5] 2 1 3 0 20
Mean [6] 2 1 3 0 20
Table [7] 1 2,1 2,9 0 18,2
The average of
the mean rank
1,72 1,39 2,89
In this study, effect size was calculated, too. The calculation of effect size is important because it
allows identifying the group(s) from which the significant difference between groups arises [20].
Following the Friedman test, the Wilcoxon signed rank test was used for calculating the effect
sizes of the programming languages used. In this way, type 1 mistake was kept at minimum [22].
The Bonferroni correction value was calculated in order to calculate the significance coefficient
of posthoc tests. The α/number of comparisons formula was applied to determine the significance
value of Wilcoxon tests used for posthoc, according to Field (2005). New significance value was
found to be 0.05/3=0.017. Effect size (r) and significance value (p) obtained through the posthoc
test are showed in Table VII.
The below-mentioned formula was used for calculating the effect size: [23].
r: Effect size, Z: Z value, N: N1+N2
Table 7. The Posthoc Test Data
Post Hoc
Wordload
Delphi XE6-C# 2013 Python 3.4-C# 2013 Python 3.4-DelphiXE6
N
Z r p Z r p Z r p
Matrix [2] -2,81 -0,63 0,005 -2,8 -0,63 0,005 -2,80 -0,63 0,005
Sorting [3] -2,02 -0,45 0,043 -2,8 -0,63 0,005 -2,8 -0,63 0,005
Sieve [4] -2,67 -0,60 0,008 -2,8 -0,63 0,005 -2,8 -0,63 0,005
Empty Loop [5] -2,82 -0,63 0,005 -2,8 -0,63 0,005 -2,8 -0,63 0,005
Mean [6] -2,82 -0,63 0,005 -2,8 -0,63 0,005 -2,8 -0,63 0,005
Table [7] -2,85 -0,64 0,004 -2,8 -0,63 0,005 -2,7 -0,60 0,007
The average of
the r
-0,60 -0,63 -0,63
An effect size (r) closer to zero means a lower insignificant difference between the response times
of programming languages. However, p and r values in the Table VII indicate that the difference
between binary groups is big enough to be considered significant. However, Hello [1] workload is
ignored here. This is because; the Friedman test also indicated no significant difference in this
International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015
9
workload. The average effect sizes (r) for all workloads also demonstrate that the difference
between binary groups is big enough to be considered significant. In other words, the difference
between the programming languages in terms of response time is big and statistically significant.
3. FINDINGS AND DISCUSSION
The general averages of the response times related to all workloads obtained from the
performance tests indicate that Delphi XE6 is considerably faster than C# 2013 and Python. Also
Delphi XE6 is 3 times as fast as C# 2013 and 49 times as fast as Python. However, C# 2013
writes and reads text file averagely 4.5 times as fast as Delphi XE6. All these results are
statistically significant in all workloads except for Hello [1]. Thus, the results concerning this test
are not interpreted here.
The detailed comparison of the response times of the programming languages by workload shows
the results given below.
The general averages of the response times regarding Matrix [2] and Average [6] workloads
indicate that Delphi XE6 is almost 3 times as fast as C# 2013. This result shows that the integer
arithmetic performance of Delphi XE6 is faster than that of C# 2013.
The results concerning Sort [3] workload indicate that C# is 1.07 times as fast as Delphi XE6 in
logical decision performance. The results related to Sieve [4] workload, which tests basic integer
arithmetic and logical comparison, point out that Delphi XE6 is 1.1 times as fast as C# 2013. C#
2013 is faster only in logical decision performance. However, when both logical decision and
integer arithmetic come into play, Delphi XE6 is faster.
Delphi XE6 is 1.14 times as fast as C# 2013 in terms of loop performance.
In terms of response time, Python remains falls behind the other two languages in all tests.
Consequently, the programs written in Python run much slower than those written in C# 2013 and
Delphi XE6.
In terms of memory usage, Delphi XE6 uses 50% less memory than C# 2013 and almost 54% less
memory than Python. That is to say, the programs coded in Delphi XE6 can run faster by using
less memory.
Although Delphi XE6 is strong in terms of memory usage, it is weaker than Python and slightly
stronger than C# 2013 in terms of code density. The averages of compiled code density obtained
from all tests show that Python is the strongest. The averages of compiled code density of Python,
Delphi XE6, and C# 2013 are 83%, 55%, and 48% respectively. These figures indicate that code
density not used by Python during compilation is low. In other words, Python does not produce
many codes other than the program codes to be used for solving the problem. Delphi XE6 is
stronger than C# 2013 in terms of code density.
4.CONCLUSION
Delphi XE6 is considerably faster than C# 2013 and Python 3.4 in terms of response time. Python
is stronger than the other two languages only in terms of code density. Delphi XE6 uses 50% less
memory than C# 2013 and almost 54% less memory than Python. That is to say, the programs
coded in Delphi XE6 can run faster by using less memory.
International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015
10
When all performance measurements are considered, Delphi XE6 is seen to be stronger than the
other two languages. The present study proved that statistically.
Python is quite weak in terms of both memory usage and response time. However, Python is
distinctive relative to C# 2013 and Delphi XE6 in that it has an indentation-based simple syntax,
is compatible with different platforms (e.g. Linux, Pardus, Windows), and is free.
REFERENCES
[1] Blackburn, S. M., McKinley, K. S.,e.g., “Wake Up and Smell the Coffee :Evaluation Methodology
for the 21st Century”, Communications of the ACM, 51:83-89, (2008).
[2] Dick ,J.R., Kent, K. B. And Libby, J. C., “A quantitative analysis of the .NET common language
runtime”, Journal of Systems Architecture, 54:679–696, (2008).
[3] Wikipedi World Wide Web site, http://tr.wikipedia.org/wiki/.NET_Framework
[4] Fourment, M., Gillings, M. R., “A comparison of common programming languages used in
bioinformatics”, BMC Bioinformatics, 9(82):1-9, (2008).
[5] Arudchelvam, T., Wijayakulasooriya, J., Hoole, S. R. H., “Comparison of Performance of Finite
Element Codes in Different Programming Languages Converted From Legacy Finite Element Codes”,
3rd International Conference on Electronics, Biomedical Engineering and its Applications
(ICEBEA'2013), Singapore, 147-151 , (2013).
[6] Prechelt, L., “An empirical comparison of seven programming languages” ,Computer, 33: 23 – 29,
(2000).
[7] Berlin K. , Mary Jacob, J., Kochhar, G. , eg., “Evaluating the Impact of Programming Language
Features on the Performance of Parallel Applications on Cluster Architectures”, Languages and
Compilers for Parallel Computing Lecture Notes in Computer Science, 2958:194-208, (2004).
[8] Juristo, N., Moreno, A., Basics of Software Engineering Experimentation, Kluwer Academic , South
America, Boston, (2001).
[9] Albahari, J., Albahari , B., C# 5.0 in a Nutshell, Fifth Edition, O’Reilly Media, O’Reilly Media, Inc,
United States of America, (2012).
[10] Wikipedi World Wide Web site, [Online]. Available:
http://en.wikipedia.org/wiki/Delphi_(programming_language)#cite_note-23
[11] [Online]. Available:http://pythontr.org/forum/5-gr/7-python-nedir.html
[12] Fortier, P., Michel, H., Computer Systems Performance Evaluation and Prediction, Digital Pres, USA,
Burlington, (2003).
[13] Conte, T. M., Hwu, W., “Benchmark Characterization”, System Sciences, Proceedings of the Twenty-
Fourth Annual Hawaii International Conference on, 1:364-372, (1991).
[14] Conte, T. M., Hwu, W., “Benchmark Characterization for Experimental System Evaluation”, Proc.
Hawaii Int'l Conf. System Science I, 6-18, (1990).
[15] Morin, R. C., Managed C# versus Unmanaged C++ (2009): [Online].
Available::http://www.csharphelp.com/archives2/archive458.html
[16] Karacı, A., “Performance Comparison of Managed C# and Delphi Prism in Visual Studio and
Unmanaged Delphi 2009 and C++ Builder 2009 Languages”, International Journal of Computer
Applications, 26(1): 9-15, (2011).
[17] ŞAHİN, M., “Java, Python Ve Ruby Dillerinin Performans Karşılaştırması”, Akademik Bilişim 2007,
Dumlupınar University, Kütahya, 529-532,(2007)
[18] Chiş, M., “Evolutionary Decision Trees and Software Metrics for Module Defects
Identification”, Proceedıngs Of World Academy Of Science, Engineering And Technology, 28:273-
277, (2008).
[19] Emam, K. El, A Methodology for Validating Software Product Metrics, National Research Council of
Canada,Ottawa, Ontario, Canada NCR/ERC-1076, (2000).
[20] Kalaycı, Ş.,SPSS Uygulamalı Çok Değişkenli İstatistik Teknikleri, Asil Yayın Dağıtım, Turkey,
Ankara, (2008).
[21] Sá, J.M., Applied Statistics Using SPSS, STATISTICA, MATLAB and R , Springer Berlin
Heidelberg, USA, Newyork, (2007).
International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015
11
[22] Pallant, J., SPSS Survival Manual, Mc Graw Hill Open University Press, Newyork, (2007).
[23] Field, A. , Discovering Statistics using IBM SPSS Statistics , SAGE Publications, Washington DC,
(2005).
Authors
Dr. (Mr.) Abdulkadir KARACI
Assistant professor
Department of Department of Computer Engineering
B.E. (Computer Education)
M.E. (Computer Education)
Ph.D (Electronic and Computer Education)
Areas of Interest: Intelligent Tutoring System, Artificial Neural Network, Programming Language

Más contenido relacionado

La actualidad más candente

Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-Krishna Sai
 
A Research Study of Data Collection and Analysis of Semantics of Programming ...
A Research Study of Data Collection and Analysis of Semantics of Programming ...A Research Study of Data Collection and Analysis of Semantics of Programming ...
A Research Study of Data Collection and Analysis of Semantics of Programming ...IRJET Journal
 
Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3Akshay Nagpurkar
 
C Programming and Coding Standards, Learn C Programming
C Programming and Coding Standards, Learn C ProgrammingC Programming and Coding Standards, Learn C Programming
C Programming and Coding Standards, Learn C ProgrammingTonex
 
Ch1 language design issue
Ch1 language design issueCh1 language design issue
Ch1 language design issueJigisha Pandya
 
13 A Programing Languages (IT) Lecture Slide
13 A Programing Languages (IT) Lecture Slide13 A Programing Languages (IT) Lecture Slide
13 A Programing Languages (IT) Lecture SlideMuhammad Talha Zaroon
 
Programming language
Programming languageProgramming language
Programming languageDhani Ahmad
 
Unit1 principle of programming language
Unit1 principle of programming languageUnit1 principle of programming language
Unit1 principle of programming languageVasavi College of Engg
 
Imperative programming
Imperative programmingImperative programming
Imperative programmingEdward Blurock
 
WhitePaperTemplate
WhitePaperTemplateWhitePaperTemplate
WhitePaperTemplateJo Marques
 
Chapter 5( programming) answer
Chapter 5( programming) answerChapter 5( programming) answer
Chapter 5( programming) answersmkengkilili2011
 
Language processor
Language processorLanguage processor
Language processorAbha Damani
 
PROGRAMMING LANGUAGES
PROGRAMMING LANGUAGESPROGRAMMING LANGUAGES
PROGRAMMING LANGUAGESABHINAV SINGH
 
Introduction to programming principles languages
Introduction to programming principles languagesIntroduction to programming principles languages
Introduction to programming principles languagesFrankie Jones
 
Introduction to C Language (By: Shujaat Abbas)
Introduction to C Language (By: Shujaat Abbas)Introduction to C Language (By: Shujaat Abbas)
Introduction to C Language (By: Shujaat Abbas)Shujaat Abbas
 

La actualidad más candente (19)

Java chapter 5
Java chapter 5Java chapter 5
Java chapter 5
 
SE notes by k. adisesha
SE notes by k. adiseshaSE notes by k. adisesha
SE notes by k. adisesha
 
Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-
 
A Research Study of Data Collection and Analysis of Semantics of Programming ...
A Research Study of Data Collection and Analysis of Semantics of Programming ...A Research Study of Data Collection and Analysis of Semantics of Programming ...
A Research Study of Data Collection and Analysis of Semantics of Programming ...
 
Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3
 
C Programming and Coding Standards, Learn C Programming
C Programming and Coding Standards, Learn C ProgrammingC Programming and Coding Standards, Learn C Programming
C Programming and Coding Standards, Learn C Programming
 
Ch1 language design issue
Ch1 language design issueCh1 language design issue
Ch1 language design issue
 
Introduction to ‘C’ Language
Introduction to ‘C’ LanguageIntroduction to ‘C’ Language
Introduction to ‘C’ Language
 
13 A Programing Languages (IT) Lecture Slide
13 A Programing Languages (IT) Lecture Slide13 A Programing Languages (IT) Lecture Slide
13 A Programing Languages (IT) Lecture Slide
 
Programming language
Programming languageProgramming language
Programming language
 
Unit1 principle of programming language
Unit1 principle of programming languageUnit1 principle of programming language
Unit1 principle of programming language
 
Imperative programming
Imperative programmingImperative programming
Imperative programming
 
WhitePaperTemplate
WhitePaperTemplateWhitePaperTemplate
WhitePaperTemplate
 
Chapter 5( programming) answer
Chapter 5( programming) answerChapter 5( programming) answer
Chapter 5( programming) answer
 
Language processor
Language processorLanguage processor
Language processor
 
PROGRAMMING LANGUAGES
PROGRAMMING LANGUAGESPROGRAMMING LANGUAGES
PROGRAMMING LANGUAGES
 
Intermediate Languages
Intermediate LanguagesIntermediate Languages
Intermediate Languages
 
Introduction to programming principles languages
Introduction to programming principles languagesIntroduction to programming principles languages
Introduction to programming principles languages
 
Introduction to C Language (By: Shujaat Abbas)
Introduction to C Language (By: Shujaat Abbas)Introduction to C Language (By: Shujaat Abbas)
Introduction to C Language (By: Shujaat Abbas)
 

Destacado

Delphi ORM SOA MVC SQL NoSQL JSON REST mORMot
Delphi ORM SOA MVC SQL NoSQL JSON REST mORMotDelphi ORM SOA MVC SQL NoSQL JSON REST mORMot
Delphi ORM SOA MVC SQL NoSQL JSON REST mORMotArnaud Bouchez
 
Ekon20 mORMot Legacy Code Technical Debt Delphi Conference
Ekon20 mORMot Legacy Code Technical Debt Delphi Conference Ekon20 mORMot Legacy Code Technical Debt Delphi Conference
Ekon20 mORMot Legacy Code Technical Debt Delphi Conference Arnaud Bouchez
 
Ekon20 mORMot WorkShop Delphi
Ekon20 mORMot WorkShop DelphiEkon20 mORMot WorkShop Delphi
Ekon20 mORMot WorkShop DelphiArnaud Bouchez
 
D1 from interfaces to solid
D1 from interfaces to solidD1 from interfaces to solid
D1 from interfaces to solidArnaud Bouchez
 
D2 domain driven-design
D2 domain driven-designD2 domain driven-design
D2 domain driven-designArnaud Bouchez
 
Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference Arnaud Bouchez
 

Destacado (11)

Delphi ORM SOA MVC SQL NoSQL JSON REST mORMot
Delphi ORM SOA MVC SQL NoSQL JSON REST mORMotDelphi ORM SOA MVC SQL NoSQL JSON REST mORMot
Delphi ORM SOA MVC SQL NoSQL JSON REST mORMot
 
Ekon20 mORMot Legacy Code Technical Debt Delphi Conference
Ekon20 mORMot Legacy Code Technical Debt Delphi Conference Ekon20 mORMot Legacy Code Technical Debt Delphi Conference
Ekon20 mORMot Legacy Code Technical Debt Delphi Conference
 
Ekon20 mORMot WorkShop Delphi
Ekon20 mORMot WorkShop DelphiEkon20 mORMot WorkShop Delphi
Ekon20 mORMot WorkShop Delphi
 
A4 from rad to mvc
A4 from rad to mvcA4 from rad to mvc
A4 from rad to mvc
 
D1 from interfaces to solid
D1 from interfaces to solidD1 from interfaces to solid
D1 from interfaces to solid
 
2016 mORMot
2016 mORMot2016 mORMot
2016 mORMot
 
A3 from sql to orm
A3 from sql to ormA3 from sql to orm
A3 from sql to orm
 
D2 domain driven-design
D2 domain driven-designD2 domain driven-design
D2 domain driven-design
 
A2 from soap to rest
A2 from soap to restA2 from soap to rest
A2 from soap to rest
 
A1 from n tier to soa
A1 from n tier to soaA1 from n tier to soa
A1 from n tier to soa
 
Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference
 

Similar a A Performance Comparison Of C# 2013, Delphi Xe6, And Python 3.4 Languages

REDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTS
REDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTSREDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTS
REDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTSijseajournal
 
REDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTS
REDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTSREDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTS
REDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTSijseajournal
 
Is fortran still relevant comparing fortran with java and c++
Is fortran still relevant comparing fortran with java and c++Is fortran still relevant comparing fortran with java and c++
Is fortran still relevant comparing fortran with java and c++ijseajournal
 
Introduction to systems programming
Introduction to systems programmingIntroduction to systems programming
Introduction to systems programmingMukesh Tekwani
 
CS8251_QB_answers.pdf
CS8251_QB_answers.pdfCS8251_QB_answers.pdf
CS8251_QB_answers.pdfvino108206
 
C Programming language - introduction
C Programming  language - introduction  C Programming  language - introduction
C Programming language - introduction GopikaS12
 
Introduction To Computer Programming
Introduction To Computer ProgrammingIntroduction To Computer Programming
Introduction To Computer ProgrammingHussain Buksh
 
Compiler Design Using Context-Free Grammar
Compiler Design Using Context-Free GrammarCompiler Design Using Context-Free Grammar
Compiler Design Using Context-Free GrammarIRJET Journal
 
4 coding from algorithms
4 coding from algorithms4 coding from algorithms
4 coding from algorithmshccit
 
Qualidade de Software em zOS usando IBM Debug Tool e RDz
Qualidade de Software em zOS usando IBM Debug Tool e RDzQualidade de Software em zOS usando IBM Debug Tool e RDz
Qualidade de Software em zOS usando IBM Debug Tool e RDzPaulo Batuta
 
C Course material
C Course materialC Course material
C Course materialFareed Khan
 
Comparative Study of programming Languages
Comparative Study of programming LanguagesComparative Study of programming Languages
Comparative Study of programming LanguagesIshan Monga
 
A novel data type architecture support for programming languages
A novel data type architecture support for programming languagesA novel data type architecture support for programming languages
A novel data type architecture support for programming languagesijpla
 

Similar a A Performance Comparison Of C# 2013, Delphi Xe6, And Python 3.4 Languages (20)

REDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTS
REDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTSREDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTS
REDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTS
 
REDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTS
REDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTSREDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTS
REDUSHARPTOR: A TOOL TO SIMPLIFY DEVELOPER-WRITTEN C# UNIT TESTS
 
Computer Programming
Computer Programming Computer Programming
Computer Programming
 
Computer
ComputerComputer
Computer
 
Introduction to programing languages part 1
Introduction to programing languages   part 1Introduction to programing languages   part 1
Introduction to programing languages part 1
 
Is fortran still relevant comparing fortran with java and c++
Is fortran still relevant comparing fortran with java and c++Is fortran still relevant comparing fortran with java and c++
Is fortran still relevant comparing fortran with java and c++
 
Cw1
Cw1Cw1
Cw1
 
Introduction to systems programming
Introduction to systems programmingIntroduction to systems programming
Introduction to systems programming
 
Dot net
Dot netDot net
Dot net
 
CS8251_QB_answers.pdf
CS8251_QB_answers.pdfCS8251_QB_answers.pdf
CS8251_QB_answers.pdf
 
C Programming language - introduction
C Programming  language - introduction  C Programming  language - introduction
C Programming language - introduction
 
Introduction To Computer Programming
Introduction To Computer ProgrammingIntroduction To Computer Programming
Introduction To Computer Programming
 
Compiler Design Using Context-Free Grammar
Compiler Design Using Context-Free GrammarCompiler Design Using Context-Free Grammar
Compiler Design Using Context-Free Grammar
 
4 coding from algorithms
4 coding from algorithms4 coding from algorithms
4 coding from algorithms
 
C.pdf
C.pdfC.pdf
C.pdf
 
Qualidade de Software em zOS usando IBM Debug Tool e RDz
Qualidade de Software em zOS usando IBM Debug Tool e RDzQualidade de Software em zOS usando IBM Debug Tool e RDz
Qualidade de Software em zOS usando IBM Debug Tool e RDz
 
C Course material
C Course materialC Course material
C Course material
 
Introduction to programming c
Introduction to programming cIntroduction to programming c
Introduction to programming c
 
Comparative Study of programming Languages
Comparative Study of programming LanguagesComparative Study of programming Languages
Comparative Study of programming Languages
 
A novel data type architecture support for programming languages
A novel data type architecture support for programming languagesA novel data type architecture support for programming languages
A novel data type architecture support for programming languages
 

Más de ijpla

International Journal of Programming Languages and Applications (IJPLA)
International Journal of Programming Languages and Applications (IJPLA)International Journal of Programming Languages and Applications (IJPLA)
International Journal of Programming Languages and Applications (IJPLA)ijpla
 
A study of the Behavior of Floating-Point Errors
A study of the Behavior of Floating-Point ErrorsA study of the Behavior of Floating-Point Errors
A study of the Behavior of Floating-Point Errorsijpla
 
5th International Conference on Machine Learning and Soft Computing (MLSC 2024)
5th International Conference on Machine Learning and Soft Computing (MLSC 2024)5th International Conference on Machine Learning and Soft Computing (MLSC 2024)
5th International Conference on Machine Learning and Soft Computing (MLSC 2024)ijpla
 
International Journal of Programming Languages and Applications (IJPLA)
International Journal of Programming Languages and Applications (IJPLA)International Journal of Programming Languages and Applications (IJPLA)
International Journal of Programming Languages and Applications (IJPLA)ijpla
 
International Conference on Antennas, Microwave and Microelectronics Engineer...
International Conference on Antennas, Microwave and Microelectronics Engineer...International Conference on Antennas, Microwave and Microelectronics Engineer...
International Conference on Antennas, Microwave and Microelectronics Engineer...ijpla
 
INVESTIGATION OF ATTITUDES TOWARDS COMPUTER PROGRAMMING IN TERMS OF VARIOUS V...
INVESTIGATION OF ATTITUDES TOWARDS COMPUTER PROGRAMMING IN TERMS OF VARIOUS V...INVESTIGATION OF ATTITUDES TOWARDS COMPUTER PROGRAMMING IN TERMS OF VARIOUS V...
INVESTIGATION OF ATTITUDES TOWARDS COMPUTER PROGRAMMING IN TERMS OF VARIOUS V...ijpla
 
Research Paper Submission..!!! Free Publication for Extended papers 3rd Inter...
Research Paper Submission..!!! Free Publication for Extended papers 3rd Inter...Research Paper Submission..!!! Free Publication for Extended papers 3rd Inter...
Research Paper Submission..!!! Free Publication for Extended papers 3rd Inter...ijpla
 
2nd International Conference on Computing and Information Technology (CITE 2024)
2nd International Conference on Computing and Information Technology (CITE 2024)2nd International Conference on Computing and Information Technology (CITE 2024)
2nd International Conference on Computing and Information Technology (CITE 2024)ijpla
 
International Journal of Programming Languages and Applications ( IJPLA )
International Journal of Programming Languages and Applications ( IJPLA )International Journal of Programming Languages and Applications ( IJPLA )
International Journal of Programming Languages and Applications ( IJPLA )ijpla
 
A Hybrid Bacterial Foraging Algorithm For Solving Job Shop Scheduling Problems
A Hybrid Bacterial Foraging Algorithm For Solving Job Shop Scheduling ProblemsA Hybrid Bacterial Foraging Algorithm For Solving Job Shop Scheduling Problems
A Hybrid Bacterial Foraging Algorithm For Solving Job Shop Scheduling Problemsijpla
 
5th International Conference on Machine Learning and Soft Computing (MLSC 2024)
5th International Conference on Machine Learning and Soft Computing (MLSC 2024)5th International Conference on Machine Learning and Soft Computing (MLSC 2024)
5th International Conference on Machine Learning and Soft Computing (MLSC 2024)ijpla
 
International Journal of Programming Languages and Applications ( IJPLA )
International Journal of Programming Languages and Applications ( IJPLA )International Journal of Programming Languages and Applications ( IJPLA )
International Journal of Programming Languages and Applications ( IJPLA )ijpla
 
3rd International Conference on Computing and Information Technology Trends (...
3rd International Conference on Computing and Information Technology Trends (...3rd International Conference on Computing and Information Technology Trends (...
3rd International Conference on Computing and Information Technology Trends (...ijpla
 
HIGH-LEVEL LANGUAGE EXTENSIONS FOR FAST EXECUTION OF PIPELINE-PARALLELIZED CO...
HIGH-LEVEL LANGUAGE EXTENSIONS FOR FAST EXECUTION OF PIPELINE-PARALLELIZED CO...HIGH-LEVEL LANGUAGE EXTENSIONS FOR FAST EXECUTION OF PIPELINE-PARALLELIZED CO...
HIGH-LEVEL LANGUAGE EXTENSIONS FOR FAST EXECUTION OF PIPELINE-PARALLELIZED CO...ijpla
 
Research Paper Submission- 5th International Conference on Machine Learning a...
Research Paper Submission- 5th International Conference on Machine Learning a...Research Paper Submission- 5th International Conference on Machine Learning a...
Research Paper Submission- 5th International Conference on Machine Learning a...ijpla
 
Submit Your Articles- International Journal of Programming Languages and Appl...
Submit Your Articles- International Journal of Programming Languages and Appl...Submit Your Articles- International Journal of Programming Languages and Appl...
Submit Your Articles- International Journal of Programming Languages and Appl...ijpla
 
SELFLESS INHERITANCE
SELFLESS INHERITANCESELFLESS INHERITANCE
SELFLESS INHERITANCEijpla
 
Research Paper Submission- International Conference on Computer Science, Info...
Research Paper Submission- International Conference on Computer Science, Info...Research Paper Submission- International Conference on Computer Science, Info...
Research Paper Submission- International Conference on Computer Science, Info...ijpla
 
Research Paper Submission-3rd International Conference on Computing and Infor...
Research Paper Submission-3rd International Conference on Computing and Infor...Research Paper Submission-3rd International Conference on Computing and Infor...
Research Paper Submission-3rd International Conference on Computing and Infor...ijpla
 
Submit Your Articles- International Journal of Programming Languages and Appl...
Submit Your Articles- International Journal of Programming Languages and Appl...Submit Your Articles- International Journal of Programming Languages and Appl...
Submit Your Articles- International Journal of Programming Languages and Appl...ijpla
 

Más de ijpla (20)

International Journal of Programming Languages and Applications (IJPLA)
International Journal of Programming Languages and Applications (IJPLA)International Journal of Programming Languages and Applications (IJPLA)
International Journal of Programming Languages and Applications (IJPLA)
 
A study of the Behavior of Floating-Point Errors
A study of the Behavior of Floating-Point ErrorsA study of the Behavior of Floating-Point Errors
A study of the Behavior of Floating-Point Errors
 
5th International Conference on Machine Learning and Soft Computing (MLSC 2024)
5th International Conference on Machine Learning and Soft Computing (MLSC 2024)5th International Conference on Machine Learning and Soft Computing (MLSC 2024)
5th International Conference on Machine Learning and Soft Computing (MLSC 2024)
 
International Journal of Programming Languages and Applications (IJPLA)
International Journal of Programming Languages and Applications (IJPLA)International Journal of Programming Languages and Applications (IJPLA)
International Journal of Programming Languages and Applications (IJPLA)
 
International Conference on Antennas, Microwave and Microelectronics Engineer...
International Conference on Antennas, Microwave and Microelectronics Engineer...International Conference on Antennas, Microwave and Microelectronics Engineer...
International Conference on Antennas, Microwave and Microelectronics Engineer...
 
INVESTIGATION OF ATTITUDES TOWARDS COMPUTER PROGRAMMING IN TERMS OF VARIOUS V...
INVESTIGATION OF ATTITUDES TOWARDS COMPUTER PROGRAMMING IN TERMS OF VARIOUS V...INVESTIGATION OF ATTITUDES TOWARDS COMPUTER PROGRAMMING IN TERMS OF VARIOUS V...
INVESTIGATION OF ATTITUDES TOWARDS COMPUTER PROGRAMMING IN TERMS OF VARIOUS V...
 
Research Paper Submission..!!! Free Publication for Extended papers 3rd Inter...
Research Paper Submission..!!! Free Publication for Extended papers 3rd Inter...Research Paper Submission..!!! Free Publication for Extended papers 3rd Inter...
Research Paper Submission..!!! Free Publication for Extended papers 3rd Inter...
 
2nd International Conference on Computing and Information Technology (CITE 2024)
2nd International Conference on Computing and Information Technology (CITE 2024)2nd International Conference on Computing and Information Technology (CITE 2024)
2nd International Conference on Computing and Information Technology (CITE 2024)
 
International Journal of Programming Languages and Applications ( IJPLA )
International Journal of Programming Languages and Applications ( IJPLA )International Journal of Programming Languages and Applications ( IJPLA )
International Journal of Programming Languages and Applications ( IJPLA )
 
A Hybrid Bacterial Foraging Algorithm For Solving Job Shop Scheduling Problems
A Hybrid Bacterial Foraging Algorithm For Solving Job Shop Scheduling ProblemsA Hybrid Bacterial Foraging Algorithm For Solving Job Shop Scheduling Problems
A Hybrid Bacterial Foraging Algorithm For Solving Job Shop Scheduling Problems
 
5th International Conference on Machine Learning and Soft Computing (MLSC 2024)
5th International Conference on Machine Learning and Soft Computing (MLSC 2024)5th International Conference on Machine Learning and Soft Computing (MLSC 2024)
5th International Conference on Machine Learning and Soft Computing (MLSC 2024)
 
International Journal of Programming Languages and Applications ( IJPLA )
International Journal of Programming Languages and Applications ( IJPLA )International Journal of Programming Languages and Applications ( IJPLA )
International Journal of Programming Languages and Applications ( IJPLA )
 
3rd International Conference on Computing and Information Technology Trends (...
3rd International Conference on Computing and Information Technology Trends (...3rd International Conference on Computing and Information Technology Trends (...
3rd International Conference on Computing and Information Technology Trends (...
 
HIGH-LEVEL LANGUAGE EXTENSIONS FOR FAST EXECUTION OF PIPELINE-PARALLELIZED CO...
HIGH-LEVEL LANGUAGE EXTENSIONS FOR FAST EXECUTION OF PIPELINE-PARALLELIZED CO...HIGH-LEVEL LANGUAGE EXTENSIONS FOR FAST EXECUTION OF PIPELINE-PARALLELIZED CO...
HIGH-LEVEL LANGUAGE EXTENSIONS FOR FAST EXECUTION OF PIPELINE-PARALLELIZED CO...
 
Research Paper Submission- 5th International Conference on Machine Learning a...
Research Paper Submission- 5th International Conference on Machine Learning a...Research Paper Submission- 5th International Conference on Machine Learning a...
Research Paper Submission- 5th International Conference on Machine Learning a...
 
Submit Your Articles- International Journal of Programming Languages and Appl...
Submit Your Articles- International Journal of Programming Languages and Appl...Submit Your Articles- International Journal of Programming Languages and Appl...
Submit Your Articles- International Journal of Programming Languages and Appl...
 
SELFLESS INHERITANCE
SELFLESS INHERITANCESELFLESS INHERITANCE
SELFLESS INHERITANCE
 
Research Paper Submission- International Conference on Computer Science, Info...
Research Paper Submission- International Conference on Computer Science, Info...Research Paper Submission- International Conference on Computer Science, Info...
Research Paper Submission- International Conference on Computer Science, Info...
 
Research Paper Submission-3rd International Conference on Computing and Infor...
Research Paper Submission-3rd International Conference on Computing and Infor...Research Paper Submission-3rd International Conference on Computing and Infor...
Research Paper Submission-3rd International Conference on Computing and Infor...
 
Submit Your Articles- International Journal of Programming Languages and Appl...
Submit Your Articles- International Journal of Programming Languages and Appl...Submit Your Articles- International Journal of Programming Languages and Appl...
Submit Your Articles- International Journal of Programming Languages and Appl...
 

Último

Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadaditya806802
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate productionChinnuNinan
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptNarmatha D
 
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectssuserb6619e
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxVelmuruganTECE
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfChristianCDAM
 

Último (20)

Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasad
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate production
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.ppt
 
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptx
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdf
 

A Performance Comparison Of C# 2013, Delphi Xe6, And Python 3.4 Languages

  • 1. International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015 DOI : 10.5121/ijpla.2015.5301 1 A Performance Comparison Of C# 2013, Delphi Xe6, And Python 3.4 Languages Abdulkadir KARACI1 1 Department of Computer Engineering, Kastamonu University, Kastamonu, Turkey ABSTRACT C# 2013, Delphi XE6, and Python 3.4 are the newest and most popular programming languages. These programming languages become more popular every passing day. In this study, the response times, memory usages, and code lengths of these languages were tested in various workloads. Whether or not there was any significant difference between the data obtained from workloads was tested via the Friedman test. The test indicated a significant difference. In addition, the Wilcoxon signed rank test was used for determining the effect size. This test showed that the level of the significant difference found in the Friedman test was high. KEYWORDS C#, Delphi XE6, Performance Test, Python, Programming Language 1.INTRODUCTION Most of the developers are choosing the managed programming language. Because, managed language has the following features. 1. Data and memory type safety, 2. Perform the automatic memory management, 3. Dynamic code transmission Further, most of these programming languages are object-oriented programming languages [1]. The languages C# 2013, Delphi XE6 are managed languages. The Python is unmanaged language. Memory method of unmanaged programming languages is not automatic. Therefore they are not safe. Microsoft .NET platform has provided a robust framework. Thus, Windows applications have been developed so much easier. [2]. The NET Framework is a complete “application” development platform, which has been developed by the Microsoft and, which has been established on open Internet protocols and standards. The scope of application concept here is very broad. Everything from a desktop application to a web browser has been considered within this platform and everything has been supported. [3]. Programmers and computer scientists conduct research on the advantages and disadvantages of various programming languages. Gillings and compared C, C++, C#, Java, Perl, and Python languages in terms of memory usage and speed of execution by using 3 standard bioinformatics methods. C was found to be the strongest [4]. Arudchelvam et al. compared FORTRAN, C, and Java programming languages in terms of memory usage and run-time. These three languages were found to be equal in terms of run-time. FORTRAN was found to be using less memory [5]. Lutz Prechelt compared C, C++, Java, Perl, Python, Rexx, and Tcl programming languages in terms of program length, programming effort, runtime efficiency, memory consumption, and
  • 2. International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015 2 reliability [6]. Konstantin Berlin et al. compared Pthreads, OpenMP, MPI, and UPC parallel computing APIs [7]. To contribute to works in this field, C# 2013, Delphi XE6, and Python 3.4 programming languages were compared in terms of response time, memory usage, and code length in the present study. These programming languages were chosen because they are popular and commonly used. 2. EXPERIMENTAL STUDY Of the 400 research articles in software engineering, which need experimental validation, 40% do not include experiment at all and this ratio in other disciplines 15% [8]. Therefore, in this article, in order to test the performance of programming languages, experimental algorithms have been prepared. Whether there is a significant difference among the experimental results obtained have been tested with the nonparametric Friedman test. 2.1. The Test Platform 2.1.1. The Structure of the Programming Languages Compared C# is a general-purpose, type-safe, object-oriented programming language. The purpose of programming language should be to improve the efficiency of the programmer. This purpose programming language balances performance, expressiveness and simplicity. The C# language is platform-neutral, but it was written to work well with the Microsoft .NET Framework [9]. On April 15, 2014 Embarcadero released RAD Studio XE6 which included Delphi XE6 and C++Builder. It allows creating natively compiled apps for all platforms for both desktop and mobile, and even wearable devices like Google Glass, with a single C++ or Object Pascal (Delphi) codebasing. RAD Studio XE6 adds support for Android 4.4 KitKat. It also became possible to create FireMonkey mobile apps for Android [10]. Python is a popular programming language that can develop both independent and script applications. Python is a portable, strong, easy-to-use, and free programming language. Python is an object-oriented, interpreted, modular, and interactive programming language. Its indentation- based simple syntax facilitates learning and remembering it. Thus, it allows starting programming without wasting any time in the details of syntax. It supports modular structure, class system, and any input field. It is compatible with almost all platforms (e.g. Unix, Linux, Mac, Windows, Amiga, Symbian Os). Python allows developing software in many fields such as systems programming, user interface (GUI) programming, web programming, application, and database software programming [11]. 2.1.2 The Computer Properties The features of the computer used in the performance test are as in the following: • Dell N series Notebook • Hard Disc: 700 Gigabyte • RAM: 6 Gigabyte • Processor: Intel I7 2670QM 2.20 Gigahertz • Operation System: Windows 7 Professional
  • 3. International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015 3 2.2. Workloads The concept of workload is very important in modeling of computer systems [12]. The performance evaluation using workload reduces quantity and cost of simulation [13]. Experimental system evaluations generally include workload programs. Every performance evaluation program is worked with systems having different properties. The behavior of the system is measured and its performance is interpreted [14]. Workload includes a list of services that should be fulfilled by the system [2]. Workloads in this study are made up of different programs. Each of these programs measures a different property of the programming language. These workloads are shown in Table 1. Table 1. Workloads Workload Code Explanation Hello [1] Printing of “Hello World” on the screen for 5000 times Matrix [2] Multiplication of two matrices of 500 x 500 dimensions Sorting [3] Sorting of the series with 10000 elements, the element values of which are in the worst situation with the Selection Sorting algorithm. Sieve [4] Estimation of the prime numbers at the interval of [1..8193] with the sieve algorithm for 10.000 times Empty Cycle [5] The empty cycle at the interval of [1.. 100000000] Mean [6] Estimation of the mean of the numbers at the interval of [1..3000] for 30000 times Table [7] Writing and Reading of the character knowledge “abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz123456 7890abcdefgh” with a text file for 10000 times The algorithms used as workloads have been coded in every language the performance of which will be tested by using standard properties in a way that they are equal to each other. These program codes have been converted into executable code (.exe) and their memory consumptions and response times have been obtained from Windows 7 Command Prompt. The Hello [1] program tests writing on the screen and loading performance of the program, Matrix [2] and Mean [6] programs integer arithmetic performance, Sorting [3] program cycle and logical decision performance. The Sieve [4] program to predict prime numbers by using the classical Sieve Eratosthenes algorithm. The Sieve program tests the basic logical comparison and integer arithmetic operation [15]. The Empty Cycle [5] program tests the loop performance of programming languages. Table [7] program tests reading in the text file and writing performance. [16]. 2.3. Performance Metrics Metrics used in the performance tests are shown in Table 2. Table 2. Performance Metrics Used In The Performance Tests Metrics of Performance 1 Length of Code (LOC or CLOC) 2 Time of Response (ms-mili second) 3 Memory Usege (KB (kilobyte))
  • 4. International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015 4 2.3.1. The Code Length of the Programs Written The number of the code is commonly used in order to measure the source code length of a program. (LOC (line of code)) [17]. It is completed as LOC=NLOCK+CLOCK. NLOCK (Uncommented Source Line of Code) is a code line which is not used during compilation. A Commented Source Line of Code (CLOCK) is a code line which is used during compilation. The best prediction should generally be performed as in the following in order to prediction the source code length of a program. 1. Blank lines 2. Compiled lines (CLOC) 3. Data (variable, constant) definitions and other commands 4. Lines produced by the programming language The density of the lines compiled can be calculated with CLOC*100/LOC formula [18]. The line numbers of program codes used as a workload in this study have been calculated in line with the explanations stated above and they have been shown in Table 3. Table 3. Code Lengths of the Programs Written Test C# 2013 .net Delphi XE6 CL* Data Definitions Produced by the Language L* CL/L (%) CL* Data Definition Produced by the Language L* CL/L (%) Hello [1] 6 0 11 17 35 5 1 8 14 36 Matrix [2] 19 5 11 35 54 19 3 8 30 63 Sorting [3] 19 2 11 32 59 16 2 8 26 62 Sieve [4] 25 5 11 41 61 31 3 8 42 74 Empty Cycle [5] 4 1 11 16 25 5 2 8 15 33 Mean [6] 12 3 11 26 46 13 2 8 23 57 Table [7] 18 4 11 33 55 22 5 8 35 63 Mean 48 55 Test Python 3.4 CL* Data Definitions Produced by the Language L* CL/L (%) Hello [1] 5 1 0 6 83 Matrix [2] 12 4 0 16 75 Sorting [3] 11 2 0 13 85 Sieve [4] 14 6 0 20 70 Empty Cycle [5] 5 1 0 6 83 Mean [6] 8 1 0 9 89 Table [7] 14 1 0 15 93 Mean 83
  • 5. International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015 5 * L:LOC CL:CLOC The graphic of CLOC/LOC values given in Table III are shown in Figure 1. Figure 1. Compiled Line density graphic (CLOC/LOC) 2.3.2. Time of Response The concept of response time is very important in computer systems performance test studies. Response time is the measurement of the time for which a user or an application has to wait until a command requested is completed [12]. In this study, response times of workloads run in the programming languages desired to be measured are given in Table 4. Table 4. Response Time of Workloads on Windows Operation System (ms-millisecond) Test C# 2013 Delphi XE6 Python 3.4 Min Max Mean Min Max Mean Min Max Mean Hello [1] 218 749 413 343 483 379 318 1117 591 Matrix [2] 2308 2511 2436,3 592 624 602,3 71820 80085 75181 Sorting [3] 265 327 283,5 280 327 305,5 27262 28204 27749,1 Sieve [4] 1076 1154 1101 920 1092 984,2 32196 32863 32288,5 Empty Loop [5] 358 436 381,6 312 374 333,9 10094 10693 10345,1 Mean [6] 374 421 405,2 312 359 330,7 16140 16927 16382,4 Table [7] 15 31 24,6 109 156 114 133 279 187,5 Mean 720,7 435,6 23246,4
  • 6. International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015 6 Figure 2. Response Time Graphic of Workloads Mean response times for all workloads are shown in Figure 3. Figure 3. Mean Response Times for All the Workloads by the Programming Languages 2.3.3. Memory Consumption Memory consumption of every workload has been obtained separately by programming languages by using Windows Task Manager. These values are shown as Kilobyte (KB) in Table 5 Table 5. Memory Consumption (KB) Workload C# 2013 Delphi XE6 Python 3.4 Hello [1] 1,5 0,7 2,3 Matrix [2] 4,2 3,6 2,3 Sorting [3] 1,4 0,7 2,5 Sieve [4] 1,4 0,7 2,4 Empty Loop [5] 1,4 0,7 2,3 Mean [6] 1,4 0,7 2,3 Table [7] 4,4 0,7 2,7 Mean 2,2 1,1 2,4
  • 7. International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015 7 The graphic belonging to memory consumption data is shown in Figure 4. Figure 4. Memory Consumption Graphic 2.4. Statistical Design Minimal descriptive statistics contains the following for a data set: total observation number, mean, median, standard deviation, minimal value, maximum value and number of observations. Presentation of descriptive statistics data on dependent variable is significant [16, 19]. One-Way ANOVA is used when searching the effect of one independent variables on a dependent variable [20]. In this study, the dependent variable is response time, the independent variable is programming languages. Significant results have been obtained by applying one-way ANOVA on these dependent and independent variables. However, because variance equality assumption has not been ensured, these results have not been presented in the article. Instead, the Friedman test, a non-parametric method, has been used. The Friedman test is the non-parametric correspondence of one-way ANOVA test. When the same samples belonging to the subjects have been treated and when these samples have been measured at three or more points, the Friedman test is used [20, 21]. The Friedman test has been used in order to find whether there is a significant difference among response times obtained as a result of running of every workload on C# 2013, Delphi XE6 and Python 3.4 programming languages. The Friedman test showed that there is a significant difference between the response times of 3 different programming languages in all workloads except for Hello[1]. The test data obtained from the Friedman test are shown in Table 6. In addition, mean rank values and the general average of these values clearly indicate that Delphi XE6 is the fastest programming language in terms of response time. Statistical results regarding Hello[1] demonstrate that there is no significant difference for this workload in terms of response time, 2 χ (2) = 1.4, p > .05.
  • 8. International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015 8 Table 6. The Friedman Test Data Wordload Mean Rank p 2 χ dfC# 2013 Delphi XE6 Python 3.4 Hello [1] 1,90 1,8 2,30 0,49 1,4 2 Matrix [2] 2 1 3 0 20 Sorting [3] 1,2 1,8 3 0 16,8 Sieve [4] 1,95 1,05 3 0 19,54 Empty Loop [5] 2 1 3 0 20 Mean [6] 2 1 3 0 20 Table [7] 1 2,1 2,9 0 18,2 The average of the mean rank 1,72 1,39 2,89 In this study, effect size was calculated, too. The calculation of effect size is important because it allows identifying the group(s) from which the significant difference between groups arises [20]. Following the Friedman test, the Wilcoxon signed rank test was used for calculating the effect sizes of the programming languages used. In this way, type 1 mistake was kept at minimum [22]. The Bonferroni correction value was calculated in order to calculate the significance coefficient of posthoc tests. The α/number of comparisons formula was applied to determine the significance value of Wilcoxon tests used for posthoc, according to Field (2005). New significance value was found to be 0.05/3=0.017. Effect size (r) and significance value (p) obtained through the posthoc test are showed in Table VII. The below-mentioned formula was used for calculating the effect size: [23]. r: Effect size, Z: Z value, N: N1+N2 Table 7. The Posthoc Test Data Post Hoc Wordload Delphi XE6-C# 2013 Python 3.4-C# 2013 Python 3.4-DelphiXE6 N Z r p Z r p Z r p Matrix [2] -2,81 -0,63 0,005 -2,8 -0,63 0,005 -2,80 -0,63 0,005 Sorting [3] -2,02 -0,45 0,043 -2,8 -0,63 0,005 -2,8 -0,63 0,005 Sieve [4] -2,67 -0,60 0,008 -2,8 -0,63 0,005 -2,8 -0,63 0,005 Empty Loop [5] -2,82 -0,63 0,005 -2,8 -0,63 0,005 -2,8 -0,63 0,005 Mean [6] -2,82 -0,63 0,005 -2,8 -0,63 0,005 -2,8 -0,63 0,005 Table [7] -2,85 -0,64 0,004 -2,8 -0,63 0,005 -2,7 -0,60 0,007 The average of the r -0,60 -0,63 -0,63 An effect size (r) closer to zero means a lower insignificant difference between the response times of programming languages. However, p and r values in the Table VII indicate that the difference between binary groups is big enough to be considered significant. However, Hello [1] workload is ignored here. This is because; the Friedman test also indicated no significant difference in this
  • 9. International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015 9 workload. The average effect sizes (r) for all workloads also demonstrate that the difference between binary groups is big enough to be considered significant. In other words, the difference between the programming languages in terms of response time is big and statistically significant. 3. FINDINGS AND DISCUSSION The general averages of the response times related to all workloads obtained from the performance tests indicate that Delphi XE6 is considerably faster than C# 2013 and Python. Also Delphi XE6 is 3 times as fast as C# 2013 and 49 times as fast as Python. However, C# 2013 writes and reads text file averagely 4.5 times as fast as Delphi XE6. All these results are statistically significant in all workloads except for Hello [1]. Thus, the results concerning this test are not interpreted here. The detailed comparison of the response times of the programming languages by workload shows the results given below. The general averages of the response times regarding Matrix [2] and Average [6] workloads indicate that Delphi XE6 is almost 3 times as fast as C# 2013. This result shows that the integer arithmetic performance of Delphi XE6 is faster than that of C# 2013. The results concerning Sort [3] workload indicate that C# is 1.07 times as fast as Delphi XE6 in logical decision performance. The results related to Sieve [4] workload, which tests basic integer arithmetic and logical comparison, point out that Delphi XE6 is 1.1 times as fast as C# 2013. C# 2013 is faster only in logical decision performance. However, when both logical decision and integer arithmetic come into play, Delphi XE6 is faster. Delphi XE6 is 1.14 times as fast as C# 2013 in terms of loop performance. In terms of response time, Python remains falls behind the other two languages in all tests. Consequently, the programs written in Python run much slower than those written in C# 2013 and Delphi XE6. In terms of memory usage, Delphi XE6 uses 50% less memory than C# 2013 and almost 54% less memory than Python. That is to say, the programs coded in Delphi XE6 can run faster by using less memory. Although Delphi XE6 is strong in terms of memory usage, it is weaker than Python and slightly stronger than C# 2013 in terms of code density. The averages of compiled code density obtained from all tests show that Python is the strongest. The averages of compiled code density of Python, Delphi XE6, and C# 2013 are 83%, 55%, and 48% respectively. These figures indicate that code density not used by Python during compilation is low. In other words, Python does not produce many codes other than the program codes to be used for solving the problem. Delphi XE6 is stronger than C# 2013 in terms of code density. 4.CONCLUSION Delphi XE6 is considerably faster than C# 2013 and Python 3.4 in terms of response time. Python is stronger than the other two languages only in terms of code density. Delphi XE6 uses 50% less memory than C# 2013 and almost 54% less memory than Python. That is to say, the programs coded in Delphi XE6 can run faster by using less memory.
  • 10. International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015 10 When all performance measurements are considered, Delphi XE6 is seen to be stronger than the other two languages. The present study proved that statistically. Python is quite weak in terms of both memory usage and response time. However, Python is distinctive relative to C# 2013 and Delphi XE6 in that it has an indentation-based simple syntax, is compatible with different platforms (e.g. Linux, Pardus, Windows), and is free. REFERENCES [1] Blackburn, S. M., McKinley, K. S.,e.g., “Wake Up and Smell the Coffee :Evaluation Methodology for the 21st Century”, Communications of the ACM, 51:83-89, (2008). [2] Dick ,J.R., Kent, K. B. And Libby, J. C., “A quantitative analysis of the .NET common language runtime”, Journal of Systems Architecture, 54:679–696, (2008). [3] Wikipedi World Wide Web site, http://tr.wikipedia.org/wiki/.NET_Framework [4] Fourment, M., Gillings, M. R., “A comparison of common programming languages used in bioinformatics”, BMC Bioinformatics, 9(82):1-9, (2008). [5] Arudchelvam, T., Wijayakulasooriya, J., Hoole, S. R. H., “Comparison of Performance of Finite Element Codes in Different Programming Languages Converted From Legacy Finite Element Codes”, 3rd International Conference on Electronics, Biomedical Engineering and its Applications (ICEBEA'2013), Singapore, 147-151 , (2013). [6] Prechelt, L., “An empirical comparison of seven programming languages” ,Computer, 33: 23 – 29, (2000). [7] Berlin K. , Mary Jacob, J., Kochhar, G. , eg., “Evaluating the Impact of Programming Language Features on the Performance of Parallel Applications on Cluster Architectures”, Languages and Compilers for Parallel Computing Lecture Notes in Computer Science, 2958:194-208, (2004). [8] Juristo, N., Moreno, A., Basics of Software Engineering Experimentation, Kluwer Academic , South America, Boston, (2001). [9] Albahari, J., Albahari , B., C# 5.0 in a Nutshell, Fifth Edition, O’Reilly Media, O’Reilly Media, Inc, United States of America, (2012). [10] Wikipedi World Wide Web site, [Online]. Available: http://en.wikipedia.org/wiki/Delphi_(programming_language)#cite_note-23 [11] [Online]. Available:http://pythontr.org/forum/5-gr/7-python-nedir.html [12] Fortier, P., Michel, H., Computer Systems Performance Evaluation and Prediction, Digital Pres, USA, Burlington, (2003). [13] Conte, T. M., Hwu, W., “Benchmark Characterization”, System Sciences, Proceedings of the Twenty- Fourth Annual Hawaii International Conference on, 1:364-372, (1991). [14] Conte, T. M., Hwu, W., “Benchmark Characterization for Experimental System Evaluation”, Proc. Hawaii Int'l Conf. System Science I, 6-18, (1990). [15] Morin, R. C., Managed C# versus Unmanaged C++ (2009): [Online]. Available::http://www.csharphelp.com/archives2/archive458.html [16] Karacı, A., “Performance Comparison of Managed C# and Delphi Prism in Visual Studio and Unmanaged Delphi 2009 and C++ Builder 2009 Languages”, International Journal of Computer Applications, 26(1): 9-15, (2011). [17] ŞAHİN, M., “Java, Python Ve Ruby Dillerinin Performans Karşılaştırması”, Akademik Bilişim 2007, Dumlupınar University, Kütahya, 529-532,(2007) [18] Chiş, M., “Evolutionary Decision Trees and Software Metrics for Module Defects Identification”, Proceedıngs Of World Academy Of Science, Engineering And Technology, 28:273- 277, (2008). [19] Emam, K. El, A Methodology for Validating Software Product Metrics, National Research Council of Canada,Ottawa, Ontario, Canada NCR/ERC-1076, (2000). [20] Kalaycı, Ş.,SPSS Uygulamalı Çok Değişkenli İstatistik Teknikleri, Asil Yayın Dağıtım, Turkey, Ankara, (2008). [21] Sá, J.M., Applied Statistics Using SPSS, STATISTICA, MATLAB and R , Springer Berlin Heidelberg, USA, Newyork, (2007).
  • 11. International Journal of Programming Languages and Applications ( IJPLA ) Vol.5, No.3, July 2015 11 [22] Pallant, J., SPSS Survival Manual, Mc Graw Hill Open University Press, Newyork, (2007). [23] Field, A. , Discovering Statistics using IBM SPSS Statistics , SAGE Publications, Washington DC, (2005). Authors Dr. (Mr.) Abdulkadir KARACI Assistant professor Department of Department of Computer Engineering B.E. (Computer Education) M.E. (Computer Education) Ph.D (Electronic and Computer Education) Areas of Interest: Intelligent Tutoring System, Artificial Neural Network, Programming Language