Geschwindigkeit verbessern



  • Entweder hast du es auch mit einem grossen "C" geschrieben, was schlicht falsch ist, oder du hast vergessen den algorithm Header zu inkludieren.

    Doku: http://en.cppreference.com/w/cpp/algorithm/count

    Edit: Und vielleicht hast du ja auch std mit einem grossen "S" geschrieben - ebenfalls falsch.



  • Oh hatte algorithm vergessen
    Peinlich haha
    Ist echt schneller , danke

    Leute noch eine frage und zwar soll ich eine Schnittstelle programmieren s.d.
    Man mit programmiersprache r mein code über Shell Fenster ansteuern kann
    Weiss da jemand mehr ? 😃


  • Mod

    Servus28 schrieb:

    Leute noch eine frage und zwar soll ich eine Schnittstelle programmieren s.d.
    Man mit programmiersprache r mein code über Shell Fenster ansteuern kann
    Weiss da jemand mehr ? 😃

    Unverständlich. Bitte noch einmal versuchen, mit Fokus auf Grammatik und Kontext.



  • Und zwar will ich mein Code schneller machen lassen.
    Den bei sehr großen CSV Dateien, dauert es zu lange.
    Hab gelesen, dass das Blockweise einlesen der Datei, Performance verspricht
    leider hänge ich auch daran 😞



  • Leute noch eine frage und zwar soll ich eine Schnittstelle programmieren s.d.
    Man mit programmiersprache r mein code über Shell Fenster ansteuern kann

    dafür bitte einen neuen Post erstellen - nicht einfach mitten drinn mit was neuem anfangen

    Und zwar will ich mein Code schneller machen lassen.
    Den bei sehr großen CSV Dateien, dauert es zu lange.
    Hab gelesen, dass das Blockweise einlesen der Datei, Performance verspricht

    Code?

    leider hänge ich auch daran

    in der 1. Zeile oder was ist dein Problem



  • #include <iostream>>
    #include <string>
    #include <fstream>

    int main() {

    std::string name;
    std::cout <<"Datei zum Lesen oeffnen: \n";
    std::cin>> name;

    std::string line;
    std::ifstream datei;
    datei.open(name.c_str());

    int i =0;
    while(getline(datei,line))i++;

    std::cout <<"Lines:"<<i<<"\n";

    }

    damit ist gemeint, dass ich es nicht hinkriege
    die Datei binär einzulesen und die einfach die Zeilenumbrüche zu zählen.
    Somit wäre es schneller als mit while(getline(..))



  • Servus28 schrieb:

    die Datei binär einzulesen und die einfach die Zeilenumbrüche zu zählen.Somit wäre es schneller als mit while(getline(..))

    Dachte SeppJ hat dir das schon irgendwo gezeigt.
    Aus Interesse würde ich mich daran mal versuchen wollen. Kannst du einen Aufbau deiner Datei posten? Sagen wir mal die ersten 10 Zeilen. Und was willst du mit den Daten am Ende machen?



  • Hab es auch leider nicht so hinbekommen 😞

    Hey danke 😃 , sehr lieb von dir

    21221.121,312,1211.121212,3131,12122das
    121.1,121223.122,3312221,de212,11111
    12,331,deas22,2112212.5774,134664
    87655,1313444,1331.313,55fd,453132
    2424,2444.2318,4242frf,6777,1111
    121.1,121223.122,3312221,de212,11111
    12,331,deas22,2112212.5774,134664
    87655,1313444,1331.313,55fd,453132
    2424,2444.2318,4242frf,6777,1111
    65433.2424442424,devvf331,6664,33,1
    .......
    .....

    hat circa 5004312 Zeilen


  • Mod

    cout << "5004312";
    

    Schneller geht's nicht..



  • Oh hatte algorithm vergessen
    Peinlich haha
    Ist echt schneller , danke

    Hab es auch leider nicht so hinbekommen

    ich dachte es wäre jetzt schon schneller - nicht genug
    oder was hast du nicht hinbekommen?

    und das fast gleiche Beispiel vom Anfang einfach noch mal zu posten ist
    ist auch schon grenzwertig



  • Servus28 schrieb:

    Oh hatte algorithm vergessen
    Peinlich haha
    Ist echt schneller , danke

    Wie lange braucht das denn mit SeppJs Ansatz? Wie schnell stellst du dir das vor, sollte es sein?
    Ich stelle auch nochmal die Frage nach den Compiler Flags?!


  • Mod

    Schlangenmensch schrieb:

    Wie lange braucht das denn mit SeppJs Ansatz? Wie schnell stellst du dir das vor, sollte es sein?

    Ich bezweifle, dass er meine Lösung überhaupt ausprobiert hat. Dazu wäre ein Minimum an Eigeninitiative nötig gewesen, da ich kein int main und andere Selbstverständlichkeiten davor geschrieben habe.


Anmelden zum Antworten