Wer bekommt das mit seinem C++ Compiler compiliert...



  • Würde das zur Laufzeit auch so lange dauern?



  • Jester schrieb:

    Jo, auflisten der Zahlen bis 500 geht aber auch mit template-meta schneller... einfach die Liste hinschreiben. 😃
    Wieviele gibt's bis 500? 10 Stück? Ne, ist schon zu viel oder?

    Es werden genau 3 Zahlen berechnet.

    6
    28
    496

    Das wars dann auch schon. Aber irgendwie glaube ich langsam eher an einen Compiler Bug. Das es so lange dauert ist schon sehr verdächtig unrealistisch.

    @frage!
    Nein auf keinen Fall.

    BR
    evilissimo



  • Und welchen Sinn soll es dann haben?



  • Und welchen Sinn soll es dann haben?

    Villeicht soll es einfach nur Speicher fressen ....

    [ Der Code berechnet via Brute Force die ersten 3 Vollkommenen Zahlen ( zwischen 1 und 500 ). Bestimmt kann man den Algorithmus tunen aber atm interessiert mich erst mal nur ob es einer fertig bringt das zu kompilieren. Ich selbst bin schon auf einen Server mit 2 Dual Core CPUs ausgewichen und mehr als 6 GB RAM und der ist atm schon über 50 Minuten am compilieren :p
    ]



  • Artchi schrieb:

    Und welchen Sinn soll es dann haben?

    Vermutlich einfach experementier Freude oder einfach Spaß an der Freude. Wozu sollte es einen Sinn haben? Die Zahlen sind ja bekannt. Sie neu zu suchen würde, wenn wir schon von Sinn reden, wohl mit keiner Methode Sinn machen.

    🙄



  • Es soll zeigen das Template-Meta-Programmierung böse ist.



  • also ich habs jetzt auch mal probiert, folgendes system:

    -linux
    -Pentium 4 HT, 3.4 ghz
    -gcc 4.0.2
    -boost 1.32.0

    habs ein paar stündchen probiert, aber es war kein ende in sicht 😞

    also ich denke auch an einen bug 👍

    lg icepacker



  • Ich denke, es ist Zeit damit aufzuhören. Ich habe mal nicht die Zahlen von 1 bis 500 durchsuchen lassen sondern viel kleinere. Hier mal die Laufzeit:

    Limit  Zeit
    40     8 s
    80     212 s
    120    819 s
    160    2904 s
    200    9162 s
    

    Eine Erhöhung um 40 brachte eine Verlangsamung um mehr als 3 in jedem Fall mit leicht fallender Tendenz. Wenn ich das mal grob nach unten mit einer Verlangsamung von 2 abschätze, liegt die prognostizierte Laufzeit von 500 bei über 13 Tagen. Wenn die Verlangsamung bei über drei bleibt, sind es mindestens 231 Tage. Ich vermute mal, dass es irgendwo dazwischen liegt, aber am hinteren Ende.

    Bevor man hier von einem Bug sprechen kann, muss noch geklärt werden, wieviele Templates überhaupt instanziert werden. Wenn diese Zahl auch exponentiell wächst, kann der Compiler nichts dafür.

    Ansonsten ist es immer gut, wenn die Entwickler die Instanzierung von Templates beschleunigen können.



  • Ponto schrieb:

    Ich denke, es ist Zeit damit aufzuhören. Ich habe mal nicht die Zahlen von 1 bis 500 durchsuchen lassen sondern viel kleinere. Hier mal die Laufzeit:

    Limit  Zeit
    40     8 s
    80     212 s
    120    819 s
    160    2904 s
    200    9162 s
    

    Eine Erhöhung um 40 brachte eine Verlangsamung um mehr als 3 in jedem Fall mit leicht fallender Tendenz. Wenn ich das mal grob nach unten mit einer Verlangsamung von 2 abschätze, liegt die prognostizierte Laufzeit von 500 bei über 13 Tagen. Wenn die Verlangsamung bei über drei bleibt, sind es mindestens 231 Tage. Ich vermute mal, dass es irgendwo dazwischen liegt, aber am hinteren Ende.

    Bevor man hier von einem Bug sprechen kann, muss noch geklärt werden, wieviele Templates überhaupt instanziert werden. Wenn diese Zahl auch exponentiell wächst, kann der Compiler nichts dafür.

    Ansonsten ist es immer gut, wenn die Entwickler die Instanzierung von Templates beschleunigen können.

    Uh das ist richtig übel *g* Aber gut zu wissen. Danke Ponto 🙂

    @sinn-detector
    eigentlich nicht.

    @Artchi
    Wie kingruedi das schon richtig erkannt hat ist es einfach nur experimentier Freude. Ich finde das einfach interessant Code während des compilierens ausführen zu können.

    BR
    evilissimo



  • Ponto schrieb:

    ... liegt die prognostizierte Laufzeit von 500 bei über 13 Tagen.

    Ponto schrieb:

    Ich denke, es ist Zeit damit aufzuhören.

    Wieso!?? Zu Zeiten des C64 hat man doch auch die Kiste einen Monat lang interaktionslos laufen lassen, um zu prüfen, ob Leslie und Melissa nach Abflug vom Mars auch auf der Erde landen... 🤡



  • yeah "Zak McKracken and the Alien Mindbenders (1988)" rulez 🕶



  • Ponto schrieb:

    Ich denke, es ist Zeit damit aufzuhören. Ich habe mal nicht die Zahlen von 1 bis 500 durchsuchen lassen sondern viel kleinere. Hier mal die Laufzeit:

    Limit  Zeit
    40     8 s
    80     212 s
    120    819 s
    160    2904 s
    200    9162 s
    

    (...)

    Nur falls es wen interessiert...
    MSVC 8 SP1, P4 2.8C (Northwood), 2GB RAM:
    40: 0:04
    80: 0:31
    120: 2:16 (136s)
    160: nach 3:23 ein "c1xx : fatal error C1063: INTERNAL COMPILER ERROR" 😞



  • immer aufs datum der threads achten 😉 da war ein spambot am werk



  • DrGreenthumb schrieb:

    immer aufs datum der threads achten 😉 da war ein spambot am werk

    Ist doch gut, werden auch mal interessante alte Threads ausgegraben. 👍 😃



  • Oha...



  • Very good site!


Anmelden zum Antworten