Rutas
/
Scala
Scala
/
Ejercicios
/
Frecuencia de letras en paralelo
Frecuencia de letras en paralelo

Frecuencia de letras en paralelo

Media

Instrucciones

Cuenta la frecuencia de las letras en textos mediante computación en paralelo.

El paralelismo consiste en hacer en paralelo cosas que también se pueden hacer de forma secuencial. Un ejemplo habitual es contar la frecuencia de letras. Utiliza el paralelismo para calcular la frecuencia total de cada letra en una lista de textos.

Instrucciones específicas del track

Según esta terminología, deberías escribir un programa paralelo y determinista y (¡cómo no!) dejar que Scala se encargue del aspecto de la concurrencia. De lo contrario, tu código podría volverse enseguida desordenado y propenso a errores, con todo tipo de bugs de concurrencia desagradables. En particular, tu programa podría volverse no determinista, lo que en la práctica significa: muy (de hecho, MUY) difícil de depurar, probar y razonar.

Dicho esto, podría ser buena idea escribir primero una solución secuencial (y usar la suite de pruebas para verificarla). Solo entonces deberías intentar paralelizarla, manteniendo las partes secuencial y paralela de tu código lo más separadas posible.

Una primera iteración podría consistir en usar las colecciones paralelas de Scala. Puede que te parezca casi demasiado sencillo (sobre todo si has seguido nuestro consejo y ya tienes una solución secuencial).

Para la segunda iteración, te recomendamos probar una solución con scala.concurrent.Future. Puedes consultar este tutorial y su continuación para que te sirvan de ayuda. Asegúrate de que

  • haya una única llamada bloqueante para esperar el resultado,
  • que esté justo al final de tu programa y
  • que tenga un tiempo de espera.

scala.concurrent.Future se usa en muchas bibliotecas y es lo que el médico receta para la programación paralela y asíncrona en Scala. Por eso es esencial para dominar el lenguaje y debería formar parte de tu arsenal de Scala.

Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Scala Exercism

¿Listo para empezar Frecuencia de letras en paralelo?

Regístrate en Exercism para aprender y dominar Scala con 95 ejercicios y mentoría humana real, todo gratis.

¡Análisis en profundidad de Frecuencia de letras en paralelo!

Exploramos las diferencias entre concurrencia y paralelismo, viendo los distintos enfoques que adoptan lenguajes como JavaScript, Go, Elixir y Rust.