Der IT-Thread

  • Registriere dich, um keine Werbung mehr zu sehen!

Sylvester

I Taut I Taw a Puddy-Tat
RdW
Hall of Fame
9 Sep. 2021
6.401
18.243
113
Mal ein kleines Experiment, wie schnell C# unter Linux ist:

C#:
// See https://aka.ms/new-console-template for more information

int fibonacci(int i) {
    if(i == 0)
        return 0;
    else if (i == 1)
        return 1;
    else
        return fibonacci(i - 1) + fibonacci(i - 2);
}

Console.WriteLine("Hello, World!");
for(int i = 0; i <= 42; ++i)
{
    Console.WriteLine($"Fibonacci ({i}): {fibonacci(i)}");
}

C++:
#include <iostream>
#include <boost/format.hpp>

int fibonacci(int i) {
    if(i == 0)
        return 0;
    else if (i == 1)
        return 1;
    else
        return fibonacci(i - 1) + fibonacci(i - 2);
}

int main(int argc, char* argv[])
{
    for(int i = 0; i <= 42; ++i)
    {
        std::cout << boost::format("Fibonacci (%1%): %2%") % i % fibonacci(i) << std::endl;
    }
}

Ergebnis:
C#:
Code:
Fibonacci (42): 267914296

real    0m3,891s
user    0m3,891s
sys     0m0,000s
C++:
Code:
Fibonacci (42): 267914296

real    0m0,839s
user    0m0,839s
sys     0m0,000s

C++ um den Faktor 3 schneller als C#?
 

Sylvester

I Taut I Taw a Puddy-Tat
RdW
Hall of Fame
9 Sep. 2021
6.401
18.243
113
Dachte es könnte vielleicht auch an der Just-in-Time Compilierung liegen und dass diese einfach mal 1-3 Sekunden braucht, daher auch mal Fibonacci von 46 probiert, aber besser wird es nicht:
C#:
Code:
Fibonacci (46): 1836311903

real    0m26,253s
user    0m26,247s
sys     0m0,000s

C++:
Code:
Fibonacci (46): 1836311903

real    0m5,746s
user    0m5,746s
sys     0m0,000s

C++ etwa 5x schneller.
 

pump3

Well-known member
Hall of Fame
11 Sep. 2021
7.235
33.805
113
Mal ein kleines Experiment, wie schnell C# unter Linux ist:

C#:
// See https://aka.ms/new-console-template for more information

int fibonacci(int i) {
    if(i == 0)
        return 0;
    else if (i == 1)
        return 1;
    else
        return fibonacci(i - 1) + fibonacci(i - 2);
}

Console.WriteLine("Hello, World!");
for(int i = 0; i <= 42; ++i)
{
    Console.WriteLine($"Fibonacci ({i}): {fibonacci(i)}");
}

C++:
#include <iostream>
#include <boost/format.hpp>

int fibonacci(int i) {
    if(i == 0)
        return 0;
    else if (i == 1)
        return 1;
    else
        return fibonacci(i - 1) + fibonacci(i - 2);
}

int main(int argc, char* argv[])
{
    for(int i = 0; i <= 42; ++i)
    {
        std::cout << boost::format("Fibonacci (%1%): %2%") % i % fibonacci(i) << std::endl;
    }
}

Ergebnis:
C#:
Code:
Fibonacci (42): 267914296

real    0m3,891s
user    0m3,891s
sys     0m0,000s
C++:
Code:
Fibonacci (42): 267914296

real    0m0,839s
user    0m0,839s
sys     0m0,000s

C++ um den Faktor 3 schneller als C#?
Erstaunlich wie sehr sich C# verbessert hat.
 

Pedder

Lustich
Hall of Fame
10 Sep. 2021
1.732
7.833
113
bPK2Q0o.png

Irgendjemand hat ein paar Tage Rechenzeit verschwendet um das angeblich erste MD5 PNG Quine auszurechnen. Bonuspunkte für die 1337 am Anfang und Ende.
 
  • Wow
Reaktionen: pump3

Knusper

Starr mich wie ein wildgewordener Köterich an
Hall of Fame
11 Jan. 2022
3.300
12.741
113
Dachte es könnte vielleicht auch an der Just-in-Time Compilierung liegen und dass diese einfach mal 1-3 Sekunden braucht, daher auch mal Fibonacci von 46 probiert, aber besser wird es nicht:
C#:
Code:
Fibonacci (46): 1836311903

real    0m26,253s
user    0m26,247s
sys     0m0,000s

C++:
Code:
Fibonacci (46): 1836311903

real    0m5,746s
user    0m5,746s
sys     0m0,000s

C++ etwa 5x schneller.
Ich komme mit meinem Fibonacci-Algorithmus in Python auf eine Executiontime von 1,2 sec auf die ersten 2000 Elemente der Folge (auf einem altersschwachen Core i5). Oder beziehen sich deine Zeitangaben auf die Kompilierung + Execution? Dann kann man natürlich nicht miteinander vergleichen.
 

Sylvester

I Taut I Taw a Puddy-Tat
RdW
Hall of Fame
9 Sep. 2021
6.401
18.243
113
Ich komme mit meinem Fibonacci-Algorithmus in Python auf eine Executiontime von 1,2 sec auf die ersten 2000 Elemente der Folge.
Oder beziehen sich deine Zeitangaben auf die Kompilierung + Execution?
Nein, das war alles Ausführung. Hält Python die Ergebnisse aus den Aufrufen etwa im Cache?
 

Sylvester

I Taut I Taw a Puddy-Tat
RdW
Hall of Fame
9 Sep. 2021
6.401
18.243
113
Die schnellste (trotz Rekursivität) Implementierung:
Python:
from functools import cache

@cache
def fibonacci(val: int) -> int:
    if val == 0:
        return 0
    elif val == 1:
        return 1
    else:
        return fibonacci(val - 1) + fibonacci(val - 2)

if __name__ == '__main__':
    for i in range(0,90):
        print(f'Fibonacci ({i}): {fibonacci(i)}')
 
  • Superlike
Reaktionen: Knusper

Knusper

Starr mich wie ein wildgewordener Köterich an
Hall of Fame
11 Jan. 2022
3.300
12.741
113
Du kannst mit der Time-Funktion time.time() die Ausführung genau bestimmen.

Vor der Ausführung:
Code:
start = time.time()

Nach der Ausführung:
Code:
end = time.time()
print(end - start)
 

KippmKauBoi

Haider und angehender Profipelter
11 Jan. 2022
5.465
17.622
113
Aller spinn ich? Was kostet ein Eifon? Und etzadla ein astreines schinesisches Spionagedevice das auch schon bis zu 1400 Eier kostet? Jetzt langen se aber zu, die gelben Penner. 0€ für eigene Entwicklung ausgegeben, alles kopiert, Kasse klingelt

 

Sylvester

I Taut I Taw a Puddy-Tat
RdW
Hall of Fame
9 Sep. 2021
6.401
18.243
113
Aller spinn ich? Was kostet ein Eifon? Und etzadla ein astreines schinesisches Spionagedevice das auch schon bis zu 1400 Eier kostet? Jetzt langen se aber zu, die gelben Penner. 0€ für eigene Entwicklung ausgegeben, alles kopiert, Kasse klingelt

Irgendwelche Idioten gibt es immer, die das kaufen. Solle mir einmal einer erklären, warum ein Gerät welches nur ein Drittel von dem Preis kostet nicht ausreichend wäre.
 

Fisimatenten

Well-known member
Hall of Fame
12 Jan. 2022
2.367
10.252
113
Hat man da nicht eh mit jedem Schlaufon verloren? Außer man rooted/jailbreaked es und geht minutiös alle Prozesse durch?
 

BSKartoffel

Fachkraft des
RdW
9 Sep. 2021
9.762
16.340
113
Aller spinn ich? Was kostet ein Eifon? Und etzadla ein astreines schinesisches Spionagedevice das auch schon bis zu 1400 Eier kostet? Jetzt langen se aber zu, die gelben Penner. 0€ für eigene Entwicklung ausgegeben, alles kopiert, Kasse klingelt

Wer über 1000€ für ein Android Gerät bezahlt dem ist nicht mehr zu helfen.
 
  • Rolling Eyes
Reaktionen: pump3

KippmKauBoi

Haider und angehender Profipelter
11 Jan. 2022
5.465
17.622
113
Fairphone hab mir jetzt mal angeschaut. Eigentlich ganz geil, aber so viel geht ja auch immer nicht kaputt dass man da nen Vorteil aus der "für Idiotne"- Bauweise ziehen könnte.

 
via proxy