Programación Matemática y Software (Jun 2024)

Análisis del desempeño de C versus C++ en la producción multihilo de cadenas L-System: un caso de estudio ABP

  • J. Jesús Arellano Pimentel,
  • Guadalupe Toledo Toledo,
  • Mario Andrés Basilio López,
  • José Ricardo Salvador Nolasco,
  • Guillermo Eduardo Reyes Rodríguez,
  • José Alejandro Pérez Sibaja,
  • Samuel Erasto López Díaz

DOI
https://doi.org/10.30973/progmat/2024.16.2/6
Journal volume & issue
Vol. 16, no. 2

Abstract

Read online

La programación orientada a objetos en C++ facilita la codificación de algoritmos respecto al paradigma estructurado del lenguaje C, este echo suele provocar un cuestionamiento válido entre los estudiantes ¿por qué codificar cadenas con memoria dinámica en C cuando los objetos String en C++ evitan ese trabajo? Este tipo de inquietudes permiten gestar casos de estudio de Aprendizaje Basado en Problemas (ABP). En el presente artículo se reporta el contraste de los lenguajes C y C++ a través de la generación multihilo de cadenas L-System usando computadoras personales a disposición de estudiantes de ingeniería en computación. Se realizaron cien corridas para el cálculo de tiempos promedio de ejecución para dos tipos de L-System considerando el procesamiento con balanceo y sin balanceo de carga para dos, cuatro y ocho hilos. Los resultados muestran una mayor velocidad de ejecución para el lenguaje C, pero diferencias interesantes en el Speed Up respecto al lenguaje C++. Al final se concluye que la mejor eficiencia se logra paralelizando con multihilos, siempre y cuando el volumen de los datos sea considerable y esté balanceado, además, la cantidad de hilos no debe rebasar el número de núcleos. Bien vale la pena que los estudiantes lleguen a estas conclusiones mediante el aprendizaje por descubrimiento a través de un caso de estudio.

Keywords