2011-08-29 5 views
6

¿Está relacionado con la recolección de basura? Simplemente parece extraño que funcione tan bien en todas las demás áreas y falla miserablemente en el consumo de memoria.¿Por qué Scala consume 2-3 veces más RAM que sus competidores en Computer Computer Benchmarks Game?

Enlace: http://benchmarksgame.alioth.debian.org/u32/scala.html

+0

¿Inmadurez, quizás? Además, muchos constructos en Scala funcionan muy mal. –

+0

¿Enlace a algunos datos reales? –

+0

Supongo que este: http://shootout.alioth.debian.org/u32/scala.php. –

Respuesta

9

Sin abordar cada caso, en general, Scala es feliz para crear muchos objetos, tanto pequeñas como grandes, para hacer su vida más fácil. Si programa específicamente tiene una huella de memoria pequeña, entonces Scala puede ser solo un poco menos compacto que Java. De lo contrario, si intentas que el programa sea rápido y fácil de codificar (pero no prestas atención específicamente a la memoria), tenderá a ser más grande.

Si alguien quisiera crear versiones de huella de memoria pequeña de los programas y enviarlas, estoy seguro de que serían aceptadas.

+0

Tal vez -XX: + DoEscapeAnalysis ayudaría a estos objetos pequeños (objetos envoltorios para implícitos): http://www.decodified.com/scala/2010/08/27/scala-rich-wrapping-performance.html O tal vez esa optimización ya está incluida en -XX: + AggressiveOpts? – robinst

+0

@robinst Tal vez ejecutar Scala en Java 7 con -server ayudaría también ... –

+0

@Daniel C. Sobral - Tal vez mirando cómo se ejecutaron los programas, y aprendiendo que los programas de Scala se ejecutaron en Java 7 con -server ayudaría Más. – igouy

Cuestiones relacionadas