tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
802
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Bigbutcher Bigbutcher ist offline Mitglied Gold
    Registriert seit
    Mar 2002
    Beiträge
    119
    Moin Leute!

    Ich hab da mal eine generelle Frage zum guten und performanten Programmieren.

    Ich hab' letztens ein sehr großes Programm geschrieben, das jedoch sehr viel CPU Zeit kostet.

    Jetzt wollte ich euch fragen, was es denn grundsätzlich für Strukturen gibt die man vermeiden/verwenden sollte, damit man ein schnelles Programm erhält.

    MfG

    BB
     

  2. #2
    Registriert seit
    Apr 2002
    Ort
    Delmenhorst (Niedersachsen)
    Beiträge
    3.567
    moin


    Erzähl mal was über dein Programm.
    Benutzt es Threads?
    Läuft es in einer Schleife?
    So was.

    Wie groß ist denn das Programm/Quellcode?
    Könntest ihn ja mal gezippt als Anhang anhängen.


    mfg
    umbrasaxum
     

  3. #3
    Registriert seit
    Jan 2002
    Ort
    Bayern
    Beiträge
    1.390
    Naja also ein Allgemeinrezept gibt es da natürlich nicht. Wobei man schon auf ein paar Dinge achten kann:
    - Wenige Kopien verwenden, stattdessen Referenzen oder Zeiger
    - Speicher dynamisch reservieren (geeignete Vectoren, Collections verwenden)
    - Speicher so bald als Möglich wieder freigeben.
    - Pointerarithmetik verwenden
    - Optimierung durch Compiler
    - Performantere Compiler (z.B. den von Intel) verwenden

    So das sollen nur mal ein paar Faktoren sein, natürlich gibt es da noch genügend andere, gerade im mathematischen Bereich oder im Grafischen Bereich.

    Man sollte auch versuchen weit verbreitete, bewährte Algorithmen zu verwenden, z.B. bei Sortierung, Grafikbearbeitung, 3D-Programmierung.

    Du kannst auch mit Profilingprogrammen, die Flaschenhälse deiner Anwendung herausfinden und dort an Optimierung ansetzen.

    Also wie du siehst gibt es da viele Lösungsansätze.

    Gruß Daniel
     
    we would change the world if god gave us the source code...
    and remember, science is nothing more than reverse engineering nature...

    Current projects:
    - LdrawConverter

  4. #4
    Registriert seit
    Apr 2002
    Ort
    Delmenhorst (Niedersachsen)
    Beiträge
    3.567
    moin


    Ich hatte auch mal ein Tutorial zur Codeoptimierung gelesen, weiss aber nciht mehr wo.
    Aber es gibt sowas und es sollte sich auch per google finden lassen.


    mfg
    umbrasaxum
     

  5. #5
    Registriert seit
    Oct 2003
    Beiträge
    1.706
    Was auch sehr viel bringen kann sind sachen wie:
    - Lazy Evaluation ( verzögerte Berechnung)
    - Lazy Fetching ( verzögertes Holen von Werten)
    - Lazy Expression Evaluation ( Verzögerte Auswertung von Ausdrücken)
    Und im allgemeinen alles was mit lazy zu tun hat
    Grundvorraussetzung dafür ist nat der sinnvolle, und brauchbare Einsatz
    dieser techniken.
    siehe dazu:
    http://en.wikipedia.org/wiki/Lazy_Evaluation


    Gruß

    RedWing
     
    "I'm not deaf, I'm ignoring you"
    ----

  6. #6
    Bigbutcher Bigbutcher ist offline Mitglied Gold
    Registriert seit
    Mar 2002
    Beiträge
    119
    Nabend beisammen,

    das Programm direkt werd ich leider nicht mit anhängen können, aber ich kann euch etwas darüber erzählen.

    Also in der Main Methode werden 2 Threads geöffnet und in einem dieser Threads wird wiederum ein Thread gestartet.
    Die Aufgabe der Threads ist es Bilddaten binär zu empfangen/senden und Benutzereingaben zu empfangen
    2 dieser Threads kommunizieren miteinander indem eine Art Verbindungsklasse geschrieben wurde.
    Beide Objekte haben nicht gleichzeitig Zugriff, sondern nur dann wenn der eine Thread mit seiner Aufgabe fertig ist.

    Leider kann ich euch keine genaueren Angaben machen.

    Wie dem auch sei, eigendlich war meine Frage von allgemeiner Natur, wollte also quasi wissen, was man generell vermeiden sollte.
    Also soetwas wie:

    while (true)
    {
    // Do nothing
    }

    MfG

    BB
     

Ähnliche Themen

  1. MS SQL Server und Performance steigern bei SQL-Abfrage
    Von Lautsprecher im Forum Relationale Datenbanksysteme
    Antworten: 7
    Letzter Beitrag: 26.09.06, 13:19
  2. Perfomance steigern
    Von tobee im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 30.08.06, 13:00
  3. Formularverarbeitung Effizienz steigern
    Von sirvival im Forum PHP
    Antworten: 2
    Letzter Beitrag: 28.02.06, 10:56
  4. Logik-Denkleistung erheblich steigern?
    Von Claus1985 im Forum Ausbildung & Beruf
    Antworten: 7
    Letzter Beitrag: 23.04.05, 23:16
  5. Windows Performance steigern
    Von digiTAL im Forum Microsoft Windows
    Antworten: 7
    Letzter Beitrag: 15.01.05, 14:50