Performance evaluation of programming paradigms and languages using multithreading on digital image processing

  • Authors:
  • Dulcinéia O. Da Penha;João B. T. Corrêa;Luiz E. S. Ramos;Christiane V. Pousa;Carlos A. P. S. Martins

  • Affiliations:
  • Computational and Digital Systems Laboratory , Graduate Program in Electrical Engineering, Pontifical Catholic University of Minas Gerais, Belo Horizonte, Minas Gerais, Brazil;Computational and Digital Systems Laboratory, Pontifical Catholic University of Minas Gerais, Belo Horizonte, Minas Gerais, Brazil;Computational and Digital Systems Laboratory, Graduate Program in Electrical Engineering, Pontifical Catholic University of Minas Gerais, Belo Horizonte, Minas Gerais, Brazil;Computational and Digital Systems Laboratory, Graduate Program in Electrical Engineering, Pontifical Catholic University of Minas Gerais, Belo Horizonte, Minas Gerais, Brazil;Computational and Digital Systems Laboratory , Informatics Institute, Graduate Program in Electrical Engineering, Pontifical Catholic University of Minas Gerais, Belo Horizonte, Minas Gerais, Braz ...

  • Venue:
  • AMCOS'05 Proceedings of the 4th WSEAS International Conference on Applied Mathematics and Computer Science
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a comparative performance evaluation of different programming paradigms and languages using multithreaded programming. We compare the procedural and object-oriented (OO) paradigms, as well as the C++ and Java languages, regarding both performance and programmability. The comparison is made upon sequential and parallel image convolution implementations based on those paradigms and languages. The parallel implementations used the shared-variable programming model and multithreading. They exploited not only pure parallelism, but also parallelism combined with concurrency. The performance evaluation was based on the response time of those implementations. The evaluation of system performance showed that pure parallelism yielded better performance results than parallelism combined with concurrency. Regarding the C++ implementations, the procedural paradigm led to better results than the OO paradigm. One of the most significant results in our work is the fact that Java yielded shorter response times than OO C++ for most of the multithreaded implementations.