Benchmark Scala vs C++

Sur des algorithmes génétiques

Test effectué sur la fonction Rastrigin avec NSGA-II.

Frameworks utilisés :
C++ : sferes2
Scala : MGO

Paramètres utilisés :
Population : 200
Taille génome : 60
nombre de générations : 2000

C++ non parallélisé : 14.416s
C++ en parallèle : 13.540s
Scala parallélisé (par défaut) : > 19 min

Configuration : HP Z800, Bi-Xeon 5650 24 coeurs, 2.67 Ghz avec 12 Go Ram

Fichiers utilisés:
Scala
C++

2 réponses à “Benchmark Scala vs C++

  1. Avez-vous activé le -DSFERES_FAST_DOMSORT avec sferes ? Par ailleurs, c’est un Rastrigin multi-objectif ? Car sinon NSGA-II fait beaucoup de choses pour rien et c’est un cas assez particulier…

    J'aime

  2. Hi,

    I am the designer of MGO and I did the bench with this script:
    val m =
    new Rastrigin with NSGAII with CounterTermination {
    def steps = 2000
    def mu = 200
    def lambda = 200
    def genomeSize = 60
    }

    implicit val rng = newRNG(42)

    val begin = System.currentTimeMillis()

    val res =
    m.evolve.untilConverged {
    s => println(s.generation)
    }

    println(System.currentTimeMillis() – begin)

    The time is 108s on my unplugged laptop.

    When using hiarchical ranking instead of the N^2 paretor ranking it drops to 43s.

    The diference might be due to the fact that we use improved crowding distance that has no biais and supports infinite objective values (the original one is biaised and does’nt support it).

    If you need distributed genetic algorithm you should try openmole: http://www.openmole.org that leverage MGO to implement massively parallel genetic algorithms.

    Cheers Romain

    J'aime

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s