Die Leistung der Rasberry Pi 3 im Vergleich zu Intel Core i7 Prozessor (Fließkomma-Operationen)

Ich habe einen einfachen Vergleich konzentriert sich auf floating point operations mit C#, für die gezielte Raspberry Pi 3 Model 2 mit Windows 10 IoT und ich haben es im Vergleich zu Intel Core i7-6500U CPU @ 2.50 GHz.

Raspberry Pi 3 Model B V1.2 - Test-Ergebnisse - Diagramm

Intel Core i7-6500U CPU @ 2.50 GHz - x64 Test-Ergebnisse - Diagramm

Intel Core i7 nur zwölf mal schneller (x64) als Raspberry Pi 3! - nach den tests.

Den Faktor 11.67 um genau zu sein und wurde berechnet für die beste Leistung in diesen tests auf jeder Plattform. Beide Plattformen erzielt die beste Leistung für vier threads parallel ausgeführt werden, wodurch Berechnungen (sehr einfache, unabhängige Berechnungen).

Frage: was ist die richtige Methode zu Messen und zu vergleichen Rechenleistung solchen Plattformen? Die Absicht ist ein Vergleich der Rechenleistung im Bereich der Optimierung, algorithmen, machine learning-algorithmen, statistische Auswertung, usw. Daher war mein Fokus auf floating-point-Operationen.

Gibt es einige benchmarks (wie MWIPS) und Maßnahmen wie MIPS oder FLOPS. Aber ich habe nicht gefunden, eine Möglichkeit zum Vergleich der unterschiedlichen CPU-Plattformen in Bezug auf die Rechenleistung.

Fand ich einen Vergleich von Roy Longbottom ' s (Google "Roy Longbottom' s Himbeer-Pi, Pi 2 und Pi 3-Benchmarks" - kann ich nicht posten Sie weitere links hier), aber gemäß seiner benchmark, Raspberry Pi-3 ist nur vier mal schneller als der Intel Core i7 Prozessor (x64-Architektur, MFLOPS-Vergleich). So ganz anders als meine Ergebnisse.

Hier sind die details der tests, die ich durchgeführt:

Wurde der test bauen um einfache operation ausgeführt werden soll iterativ:

    private static float SingleAverageCalc(float seed, long nTimes)
    {
        float x1 = seed, x2 = 0;
        long n = 0;

        for (; n < nTimes; ++n)
        {
            x2 = x2 + x1 * n;
        }

        return x2 / n;
    }

wo Samen ist zufällig generiert, die in der aufrufenden Funktion und nTimes ist die Anzahl der Iterationen. Die Absicht ist zu vermeiden, einfach Compilezeit-Optimierungen.

Diese test-Funktion aufgerufen wurde mehrmals mit verschiedenen iteration Nummer (1M, 10M, 100M und 1B) im single-thread und für mehrere threads. Multithread-test Aussehen wie unten:

    private static async void RunTestMT(string name, long n, int tn, Func<float, long, float> f)
    {
        float seed = (float)new Random().NextDouble();
        DateTime s1 = DateTime.Now;
        List<IAsyncAction> threads = new List<IAsyncAction>();
        for (int i = 0; i < tn; i++)
        {
            threads.Add( ThreadPool.RunAsync((operation) => { f(seed, n/tn); }, WorkItemPriority.High));
        }
        for (int i = 0; i < tn; i++)
        {
            threads[i].AsTask().Wait();
        }
        TimeSpan dt = DateTime.Now - s1;

        Debug.WriteLine(String.Format("{0} ({1:N0}; {3}T): {2:mm\\:ss\\.fff}", name, n, dt, tn));
    }

Test wurden ausgeführt in Debug - Modus. Anwendung gebaut wurde, als UWP (Universal-Windows-Plattform). ARM-Architektur für Raspberry Pi und x86 für Intel.

  • Auch wenn Ihre benchmark erzählte (es ist nicht), warum sollte man bedenkt, eine Größenordnung, die Verarbeitung macht den Unterschied unbedeutend ist?
  • Warum redest du "Core i7", wie es eine single-Mikroarchitektur? Es gibt einen signifikanten Unterschied zwischen Nehalem (erste i7) und Skylake (dein i7). z.B. finden Sie unter Deoptimizing ein Programm für die pipeline in Intel Sandybridge-CPUs Familie wo ich auch erklärt.
  • Vielen Dank für die Kommentare, Leute. Das war meine Frage - wenn es eine anständige und doch einfache Weise Vergleiche zwischen verschiedenen CPU-Plattformen für performance in der genannten Hinsicht. Einfach genug, so dass sehr unterschiedliche Plattformen sein könnte, zumindest im Vergleich zu der Größe in einigen optimale, lang laufende Szenario. Einfachheit war der Schlüssel in dieser Frage. Sorry, wenn ich nicht Staat, klar.
  • Ich denke, du meintest "langsamer" in", sondern gemäß seiner benchmark, Raspberry Pi-3 ist nur bis zu vier mal schneller als der Intel Core i7"
InformationsquelleAutor Pawel | 2016-11-21
Schreibe einen Kommentar