Schleife mit Stringlängenausgabe dauert zu lange



  • Beje, H. schrieb:

    Firefighter schrieb:

    Nich dein ernst der Code?Du fragst warum er so langsam ist, kein Wunder wenn da ein Sleep von 2sec pro durchlauf drinne sind. 😃

    Aber das brauch ich doch, um sicherzustellen, dass die Funktion auch richtig abläuft. Ich arbeite nämlich unter Windows und Windows ist ja ein Multitaskbetriebssystem. Es könnte ja also sein, dass er, während er noch den Wert length belegt, gleichzeitig schon das return ausführt und die Funktion verlässt und somit einen uninitialisierten Wert zurückliefert. (Wenn die Anweisung "return length;" schneller war als die Anweisung "length = ...".) Deshalb zwinge ich ihn durch das Sleep dazu, mit dem return zu warten, bis er die Zuweisung durchgeführt hat.

    Willst du hier trollen? Bullshit was du da erzählst.

    EDIT:WAAAA!!! Nexus 😡 :p 😃



  • Firefighter schrieb:

    EDIT:WAAAA!!! Nexus 😡 :p 😃

    Diesmal waren es ganze 11 Sekunden. Aber ich kann dich durchaus verstehen, das passiert mir selber andauernd. 😃



  • Nexus schrieb:

    Das ist Schwachsinn, woher hast du das? Wenn du nicht selber mit mehreren Threads arbeitest, kannst du dich darauf verlassen, dass die Funktion richtig ausgeführt wird - vorausgesetzt, du verwendest keinen veralteten oder verbuggten Compiler.

    Das hab ich von meinem Kumpel. Der ist Diplominformatiker und der muss es ja schließlich wissen oder etwa nicht?



  • Beje, H. schrieb:

    Das hab ich von meinem Kumpel. Der ist Diplominformatiker und der muss es ja schließlich wissen oder etwa nicht?

    Nein. Du kannst dich darauf verlassen, dass die Anweisungen schön der Reihe nach abgearbeitet werden.



  • Beje, H. schrieb:

    Das hab ich von meinem Kumpel. Der ist Diplominformatiker und der muss es ja schließlich wissen oder etwa nicht?

    Ein Titel alleine sagt noch lange nichts über die Qualität aus. Selbst wenn mehrere Threads parallel ablaufen, musst du nur bei gemeinsam genutzten Ressourcen aufpassen. Jeder Thread für sich genommen wird sequenziell abgearbeitet. Und ich bezweifel das du mehrere Threads parallel auf ein und die selbe Console loslässt (=> gemeinsame Ressource) - gerade in einem Singlethreaded-Programm 😉

    cu André



  • Badestrand schrieb:

    Du kannst dich darauf verlassen, dass die Anweisungen schön der Reihe nach abgearbeitet werden.

    Genauer: dass das beobachtbare Verhalten so ist, als würden die Anweisungen schön der Reihe nach abgearbeitet. Außer bei Multithreading (siehe "memory model") (für den OP wohl noch irrelevant).



  • Das hab ich von meinem Kumpel. Der ist Diplominformatiker und der muss es ja schließlich wissen oder etwa nicht?

    Lass dir von einem Diplom-Ingenieur ( steht in der Nahrungskette noch über dem Diplom-Informatiker ^^ ), dass dein Kumpel dich verarscht hat, oder sein Diplom im Lotto gewonnen hat, oder eben die Multithreaded-Geschichte meinte ( aber selbst da ist Sleep.... ähm naja... 😉 )



  • Aber der weiß sonst immer ziemlich viel. Ich hab eine ganze Menge von dem gelernt. Zum Beispiel, dass man in einem Programm eine Multiplikation einer Addition vorziehen sollte, wenn's geht, weil Prozessoren Multiplikationen generell etwas schneller lösen können als Additionen.



  • Selbst wenn der Mist stimmen würde, was du da uns oder dein Kumpel verzählen will, stimmen würde, würde das Programm, egal ob multitaskingfähig, singletaskingfähig, chucknorristaskingfähig oder sonst was, aufjedenfall 2 Sekunden warten. Nur weil du weisst, was du machen willst, oder wie das Programm funktionieren soll, weiss das noch lange nicht dein Programm. Du weisst jetzt wie das Programm funktioniert, also kannste doch dein Sleep rausnehmen, oder lass dir alles in ein Textdokument schreiben.



  • Es gibt 2 möglichkeiten:
    a) Troll
    b) Kumpel der ihn _fürchterlich_ verarscht



  • Ja, das mit dem Sleep(2) ist Quatsch. Das hat vielleicht noch zu Zeiten von Dualcores funktioniert, aber heute bei 4 und mehr Cores brauchst du schon Sleep(4) oder 8 oder...



  • Troll... 🙄



  • Beje, H. schrieb:

    Aber der weiß sonst immer ziemlich viel. Ich hab eine ganze Menge von dem gelernt. Zum Beispiel, dass man in einem Programm eine Multiplikation einer Addition vorziehen sollte, wenn's geht, weil Prozessoren Multiplikationen generell etwas schneller lösen können als Additionen.

    WTF?

    seit wann das?
    was sind denn multiplikationen?
    richtig aneinanderreihungen von additionen
    und prozessoren können von haus aus nur addieren, multiplizieren ist schon eine ebene höher und ist schon das erste microprogramm in der cpu...



  • Skym0sh0 schrieb:

    WTF?

    seit wann das?
    was sind denn multiplikationen?

    Er trollt nur, bekommt nur Unsinn genannt oder gibt nur die Hälfte der Informationen weiter (So das Multiplikation von 2er Potenzen schnell ist, ansonsten aber Addition der Multiplikation meist überlegen ist).

    IMHO gehe ich vom Ersten aus.

    cu André



  • Das Originalproblem sieht mir ganz nach
    http://thedailywtf.com/Articles/The-Speedup-Loop.aspx
    aus. 😉



  • Nexus schrieb:

    Troll... 🙄

    scheint mir auch...

    oder furchtbar naiv...
    -> würde bedeuten, dass der TE maximal 14 Jahre alt ist. Aber wieso hat er dann nen Dipl.Inf zum Freund -> geht nicht.

    ergo:

    Troll

    q.e.d.


Anmelden zum Antworten