1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Mitglieder
  3. Plantschkuh!

Beiträge von Plantschkuh!

  • [C] Compiler warnings auflösen

    • Plantschkuh!
    • 28. Januar 2008 um 20:27
    Zitat von davewood

    Ichs habs nun mit entsprechenden casts gelöst, aber ich frag mich schno grad was das genau bewirkt.


    Vielleicht tut der Cast gar nichts, wahrscheinlich tut er aber gar nichts.

    Also. Per Definition ist char in allen Eigenschaften völlig identisch mit signed char oder unsigned char. Welches, das weiß man nicht. Aber:

    • Vielleicht ist bei dir gerade char == unsigned char, dann tut der Cast gar nichts und kann somit auch keine negativen Auswirkungen haben.
    • Wahrscheinlich macht es auch nix, wenn bei dir char == signed char ist. Die Bitmuster einander entsprechender Zeichen in signed/unsigned char sind gleich (das könnte ich glaub ich mit Hilfe des Standards beweisen, wenn es sein muß). Daher kann man bei der Verwendung der Zeichen als Zeichen keinen Effekt sehen. Wenn sie mit ihren Strings rechnen, ist die Lage aber eine andere.
    Zitat von jeuneS2

    Die Interpretation von char ist nicht im C-Standard definiert und daher plattform-spezifisch. -fsigned-char bzw. -funsigned-char stellen beim gcc ein ob char signed oder unsigned interpretiert wird und sollten dein Problem ohne Casts beheben, sofern der restliche Code konsistent in der Verwendung von signed und unsigned char ist.


    Nein, char ist ein eigener Typ, auch wenn die Darstellung zu einem der beiden anderen Typen identisch ist. Daher sind die Pointertypen auch unterschiedlich, und da gibts in C keine stillen Umwandlungen außer bei void *. GCC warnt hier überhaupt nur mit -ansi -pedantic, dann aber korrekterweise auch mit -f(un)signed-char.

  • Suche nach Matrikelnummern von Tu-Studenten

    • Plantschkuh!
    • 23. Januar 2008 um 22:48
    Zitat von Apfelsaft

    Verstößt hier die TU etwa wissentlich gegen ein Gesetz?


    ZOMG!!1! Als nächstes entdeckst du Paragraph 75 (4) Universitätsgesetz 2002...

    Zitat von Apfelsaft

    Ja, wissentlich. Schließlich wird von einer TU Seite auf die Seite der ARGE Daten verlinkt. Ich gehe mal davon aus, die lesen worauf sie verlinken.


    :rofl:

  • Fragen zu Thema Grammatik

    • Plantschkuh!
    • 23. Januar 2008 um 21:08
    Zitat von Sethal

    Haben ein Übungsblatt bekommen ..


    Hübsch! Gibts dazu auch Vorlesungsunterlagen? Ich frag nicht, um dich darauf hinzuweisen, daß du dich mal damit beschäftigen solltest oder so, keine Angst. Es ist nur so, daß es da verschiedene Konventionen gibt, wie man Grammatiken und Ableitungen hinschreibt. Und ich möchte gleich die richtige Schreibweise verwenden, wenn ich deine Hausübung mache. Sonst hast du ja eine Arbeit damit, das zu übersetzen.

  • strdup: free vs. delete[]

    • Plantschkuh!
    • 23. Januar 2008 um 21:03
    Zitat von MaxAuthority

    strdup ist ja ja eine C funktion, und delete ein C++ keyword, macht allein schon daher keinen sinn.


    Das ist eine etwas schwache Argumentation: C++ beinhaltet auch alle "C-Funktionen" aus dem C89-Standard. strdup ist zwar nicht darunter, könnte es aber problemlos sein, ohne daß die Welt untergeht.

    Die Kernfrage ist: Darf ein mit malloc allokierter Pointer mit delete[] (das ist was anderes als delete!) freigegeben werden? AFAIK nein. (D.h. man kanns probieren, es ist aber nicht garantiert, daß es hinhaut.)

  • welche programmiersprachen gefragt

    • Plantschkuh!
    • 23. Januar 2008 um 11:07
    Zitat von Shelpy

    meine frage wäre wie sieht es denn auf den markt so aus, welche programmiersprachen sind im moment gefragt?


    Wenn du jetzt eventuell eine jahrelange Ausbildung machst, ist das aus zwei Gründen nicht ganz die richtige Frage:

    • Was jetzt gefragt ist, muß in Zukunft nicht gefragt sein. Umgekehrt tauchen immer wieder "neue" Programmiersprachen im Mainstream auf, was nicht viele Leute vorhersehen. (Vor ein paar Jahren hätte dir zum Beispiel kaum einer zu Ruby geraten, heute schon eher.)
    • Wenn du programmieren kannst und die dahinterliegenden Konzepte verstanden hast, ist das Erlernen einer neuen Programmiersprache oft nur Formsache. Von dem her ist es (meiner Meinung nach) sinnvoll, "programmieren" als Konzept unabhängig von bestimmten gerade modischen Sprachen wie Java zu lernen.
    Zitat

    ich bekomme *hoffentlich* einen kurs bezahlt der sql, c, c# beinhaltet oder hätte als alternative die möglichkeit SAP programmierer (gehört nicht wirklich zu den programmiersprachen aber naja) zu machen


    All diese Technologien (ja, auch in SAP wird wirklich programmiert) scheinen im Moment gefragt zu sein. Die Frage ist, wofür: SAP hat immer einen Business-Beigeschmack, Microcontroller wird man aber sehr oft in C programmieren.

    Zitat von RT83

    Kenntnisse in Datenbanken (SQL, ...) sind meiner Meinung nach sowieso überall Pflicht.


    Brrr. SQL ist COBOL für Datenbanken :)

  • Welche Programmiersprache...

    • Plantschkuh!
    • 22. Januar 2008 um 12:06
    Zitat von Zentor

    Hm, Prolog ist da vielleicht hilfreich.


    Hätt ich auch gesagt. Es gibt da ein Buch, Prolog and Natural-Language Analysis von Pereira, das eine Einführung sowohl in Prolog als auch die Verarbeitung von natürlicher Sprache gibt. (Wer hätte das gedacht anhand dem Titel?) Was ich mich erinnern kann, war es ein sehr gutes Buch für beides. Das Hauptmanko ist vielleicht, daß es etwas veraltete Schreibweisen verwendet, die man aber ganz leicht in moderne Grammatiknotation übersetzen kann.

    Je nachdem, wie ausführlich das Projekt geplant ist, muß dann auch allgemeinere Literatur zur Computerlinguistik oder Wissensrepräsentation her. Sprachverarbeitung ist sicher keine Wochenendspielerei... aber sehr interessant!

    Zitat

    Event. LISP...


    Jau. Wobei ich das Gefühl hab, daß man im Allgemeinen nicht drum rum kommen wird, in Lisp einen Interpreter für Grammatiken zu implementieren. Und Unifikation. Und Backtracking. Also einen Prolog-Interpreter :)

  • Tags bzw. Schlagwörter in Datenbank speichern

    • Plantschkuh!
    • 22. Januar 2008 um 11:57
    Zitat von Paulchen

    Bei großer Anzahl von Datensätzen ist Duplikatelimination recht langsam.


    Ist das eine eiserne Regel? Ich bin kein Datenbank-Mensch, aber ich hab das vage Gefühl, hashbasiert würde das schnell gehen. Stellt sich die Frage, ob alle (relationalen, SQL-basierten) DBMS ihre Tabellen wirklich ganz primitiv als Listen von Tupeln ablegen.

  • Welche Programmiersprache...

    • Plantschkuh!
    • 21. Januar 2008 um 19:14
    Zitat von Creeesco

    Ich meine damit solche Bots, die z.B. vorhandene Textdateien/oder von mir aus auch vielleicht Tabellen oder Webseiten durchsuchen, und dann auf die darin gegebenen Informationen entsprechend reagieren, indem dann z.B. in jene Textdatei etwas eingefügt wird...


    Das ist noch immer sehr weit gefasst. Geht es um natürliche Sprache, d.h. von Menschen geschriebene Sätze bzw. Satzfetzen wie in einem Chat oder auf einer Website, die etwas erklärt? Möchtest du den Text wort-, satz- oder zeilenweise verarbeiten? Möchtest du Sätze wirklich "verstehen" oder nur bestimmte Wörter/Wortfolgen herauspicken?

    Wie sollen die Reaktionen aussehen? Wenn jemand im Chat "X ist ein trottel lol" schreibt, soll der Bot automagisch "selba trottl oida !!1!" antworten, oder schwebt dir was komplexeres vor?

  • Unterrichtsministerin will ausschließlich Frauen als Uni-Räte nominieren

    • Plantschkuh!
    • 19. Januar 2008 um 18:49
    Zitat von sloth

    Wenn ich mir so anschaue, was vor allem in der sog. Unterklasse abgeht, denk ich mir oft, man sollte eine Kindergartenpflicht ab spätestens dem 2. Lebensjahr einführen.
    Auf der anderen Seite ist das Problem, dass das alles staatlich wäre und irgendwie normiert, somit evtl Individualität verloren gehen könnte


    Es gibt ja private Kindergärten, und die könnte es auch bei einer Kindergartenpflicht weiter geben, wie es auch Privatschulen gibt.

    That said, einer so frühen Kindergartenpflicht kann ich persönlich nicht viel abgewinnen, aber es wäre sehr gut, wenn es das Angebot (gratis oder sehr billig!) in großem Umfang gäbe. Und wenn man Leuten, die ihre Kinder in Betreuungseinrichtungen geben, nicht vorwerfen würde, sie wären schlechte Eltern und würden die Kinder "abschieben".

    Zitat von Apfelsaft

    Hast du "Schöne neue Welt" gelesen? Genau darauf läufts nämlich hinaus.


    Magst du auch Argumente bringen, oder reicht dir billige Polemik?

  • Unterrichtsministerin will ausschließlich Frauen als Uni-Räte nominieren

    • Plantschkuh!
    • 19. Januar 2008 um 16:35
    Zitat von Clyde

    obwohl z.B. die Ederer sicher keine schlechte Besetzung ist...


    Und viele andere von den jetzt Nominierten auch nicht. Hätte man sie einfach nominiert, wären alle glücklich. Aber so wird einigen sehr bekannten und kompetenten Frauen ein Zettel mit der Aufschrift "TRITT MICH, ICH BIN EINE QUOTENFRAU" auf den Rücken gepickt.

    Zitat von RolandU

    Alle Frauen müssen vollzeit arbeiten. Die Kinder kaufen wir in anderen Ländern ein und stecken Sie 5 Wochen später (Urlaub der Adoptiveltern aufgebraucht) in vollzeit-Kindergärten, wo sich vollzeit-KindergärtnerInnen um sie kümmern, bis sie in die Ganztags-Schule eintreten können.


    Organisierte Kinderbetreuung durch ausgebildete Pädagogen, auch im sehr jungen Alter, kann sehr viel besser sein als private Wurschtelei.

  • Unterrichtsministerin will ausschließlich Frauen als Uni-Räte nominieren

    • Plantschkuh!
    • 17. Januar 2008 um 17:33

    Was ist denn das für ein Blödsinn?

  • A visit to Budapest

    • Plantschkuh!
    • 15. Januar 2008 um 22:48

    Pflichtlocation kommt zum Teil darauf an, auf was für Musik man steht... Sehr beliebt ist das West-Balkán, auch das Gödör soll gut sein. Was für Veranstaltungen an einem gegebenen Tag stattfinden, versteckt sich wie woanders auch hinter bedeutungsfreien Marketingwörtern. Die beiden Clubs sind jedenfalls eher "alternativ" in einem weiten Sinn, wie das Flex vielleicht; wie die Nachtschicht sind sie nicht.

    Sonst zu beachten: die Metro fährt nur bis ca. 23 Uhr, es gibt dann Nachtbusse, aber die sind für Ortsunkundige zumindest im schwer panierten Zustand vielleicht eher abenteuerlich. Taxis kosten mittlerweile ordentlich was, vielleicht bissi weniger als in Wien. Es kann sich auszahlen, eher ein etwas schrottigeres Taxi zu nehmen, nicht einen niegelnagelneuen Mercedes; da kann man am Anfang nach einer Abschätzung des Preises fragen. (Sprich: Sie fahren dann manchmal illegal ohne Taxameter, was üblicherweise problemfrei und billiger ist.)

    Bei den Reisen, die wir manchmal mit dem Buddynetwork machen (58 verrückte Erasmen auf einmal, das kann was), ist das Trófea immer ganz beliebt für ein Abendessen. An Wochenenden 4199 Ft. (ca. 17 Euro) für qualitativ hochwertiges all you can eat und drink! Bier (das dunkle ist sehr gut), Wein, Sekt ist im Preis inbegriffen, so viel man reinkriegt. Wir haben bis jetzt immer reserviert, aber ein paar Leute können sich vielleicht auch spontan reinsetzen.

    Hmm. Ansonsten unbedingt mal mit der gelben Metro (M1) fahren, egal wohin. Neben dem historischen Wert (eröffnet 1896, erste U-Bahn in Kontinentaleuropa, blabla) hat die die geilste Melodie vor den Stationsansagen.

  • Kleiner Job - Aufgabe bearbeiten

    • Plantschkuh!
    • 10. Januar 2008 um 12:03
    Zitat von kunibert

    der unterschied ist, dass ich mir nicht anmaße, irgendwem anders meine moralvorstellungen aufs aug zu drücken


    Wer öffentlich irgendetwas äußert, setzt sich wissentlich der Kommentare anderer aus. Das muß man schon aushalten, wenn man sich in einem Webforum rumtreibt.

    Zitat

    aber ob das user x oder user y für gut befindet ist schlicht und ergreifend irrelevant.


    Anderen unterstellst du, jemandem (dir?) ihre Moralvorstellungen "aufs Aug zu drücken", aber du findest nichts dabei, deine Vorstellung von Relevanz als absolut zu sehen...

  • Kleiner Job - Aufgabe bearbeiten

    • Plantschkuh!
    • 10. Januar 2008 um 10:44
    Zitat von kunibert

    alle anderen - not your business.


    Hmm. Person A schreibt was ins Forum, Person B antwortet darauf. Du darfst dazu Stellung beziehen, aber anderen Leuten schreibst du vor, was ihr business ist?

  • Kleiner Job - Aufgabe bearbeiten

    • Plantschkuh!
    • 9. Januar 2008 um 14:40
    Zitat von jimbeam

    Aber nochmal, ich finde, dies ist nicht der richtige Weg!


    Amen. Potentielle "Helfer" möchten bitte auch bedenken: Je mehr solche Loser sich durchs Studium schummeln und dann im Arbeitsleben negativ auffallen, umso mehr wird der Ruf der Informatikabsolventen der TU Wien leiden. Sprich man wird uns alle für Nulpen halten, was nicht in unserem Interesse sein kann. (Nichtmal für großzügige Summen von 20 Euro oder so.)

  • Geld vernichten erlaubt?

    • Plantschkuh!
    • 9. Januar 2008 um 13:36
    Zitat von wolfmann

    Doch, weil soweit ich weiss (kann mich aber irren) - ist Selbstmord strafbar.


    Ich kann mir nicht vorstellen, daß Selbstmord strafbar ist. Vielleicht meinst du den erfolglosen Versuch? Es wäre doch recht sinnlos, einen Toten bestrafen zu wollen...

  • Fußnoten bei wissenschaftlichen Arbeiten für Quellen und Begriffe

    • Plantschkuh!
    • 5. Januar 2008 um 13:35
    Zitat von Blubberblase

    Nun muss ich aber noch ein Literaturverzeichnis angeben. Dort stehen ja dann alle Quellen alphabetisch aufgelistet. Welche Daten müssen dann dort rein?
    Also wieder Name, Vorname, Titel, Datum der Veröffentlichung, vllt. noch Seitenzahl?


    Das kommt auf die Art der Quelle an. Bei einem Artikel in einer Zeitschrift gehören auch der Name der Zeitschrift, Band und Seitenzahlen; bei einem Buch schreibt man üblicherweise auch den Verlag hin.

    Zitat

    Meine zweite Frage ist: Ich habe in einem Text fußnoten (also zahlen) für Quellen verwendet. Nun schreibe ich von einem begriff, den ich nicht extra im Text erklären möchte, sondern gesondert auch am unteren Rand erklären möchte. Ich kann ja jetzt nicht ebenfalls mit zahlen als fußnoten den begriff markieren und unten erklären. Was kann man stattdessen machen?


    Du kannst Fußnoten mit Symbolen verwenden. So lustige Kreuze und Doppelkreuze, das sollte ganz gut gehen, wenn du nur selten solche Erklärungen hast.

    Wie klausi auch meint, zumindest in der Informatik ist die üblichere Variante: Verweise ins Literaturverzeichnis im Text, dann hast du auch die Fußnoten frei für Fußnoten.

  • Parallel Computing?

    • Plantschkuh!
    • 1. Januar 2008 um 20:16
    Zitat von a9bejo

    Stimme dir wieder zu. Aber wie müsste denn dann so eine Biliothek aussehen?


    In C notwendigerweise umständlich :) Aber im Prinzip ist es möglich, mit ein paar Funktionen, die pthreads o.ä. verwenden, die paar Primitive von Erlang (spawn, send, receive) einigermaßen nachzubauen. Messages wären wohl Arrays von unsigned char oder so, die der User packen und entpacken müßte. Für Systeme, die über mehrere Rechner verteilt sind, braucht man natürlich noch was anderes zusätzlich zu pthreads, aber PIDs hinter abstrakten Datentypen kapseln, das ist nicht so schwer.

    Zitat

    Man müsste sicherstellen, das Funktionen keine Seiteneffekte haben, und zwar so das ein für paralleles Computing optimierter Compiler sich darauf verlassen kann.


    Muß man nicht unbedingt, Erlang verlangt das ja auch nicht. Es wäre für den Programmierer wohl eine Hilfe, wenn einige grundlegende Eigenschaften statisch geprüft werden (alle Pointerargumente sind const, keine Verwendung von globalen Variablen), aber das und viel mehr geht eh mit vorhandener Technologie.

    Zitat

    PS: Ein frohes neues Jahr wuensche ich!


    Danke, ebenfalls. Ich freue mich auf viele kontroverse Diskussionen auch in diesem Jahr :)

  • Speicherklassen und Pipelining

    • Plantschkuh!
    • 31. Dezember 2007 um 17:53
    Zitat von Blubberblase

    Aber ich verstehe nicht wieso man keine // als Kommentarzeichen in C verwenden kann?


    Weil C (die Version von 1989, die noch am weitesten verbreitet ist) keine //-Kommentare unterstützt. Standardkonforme C-Compiler im standardkonformen Modus müssen zumindest irgendeine Meldung ausgeben, wenn du // verwendest; danach dürfen sie den Code gerne kompilieren, wie immer sie möchten. Ich sag nicht, daß du auf keinen Fall // verwenden sollst, aber du solltest dir sicher sein, daß du C schreibst und dein Compiler C von dir erwartet. C mit C++-Compilern übersetzen ist grausig.

    Zitat von Kampi

    fuer den hausgebrauch schon, aber wenn ich so messe, dann habe ich irgendwie das gefuehl ich beschwindle mich selbst. liegt wohl daran dass ich caching generell als cheating empfinde ;). mit caching verliert der begriff "ideale laufzeit" fuer mich so und so jegliche relevanz.


    Naja, "ideale Laufzeit" ist die, die rauskommen würde, wenn es keine cache misses und page faults gäbe. Ganz ohne wirds allgemein nicht gehen, aber wenn man das Minimum von mehreren Messungen gibt, kriegt man etwas raus, was auf dem konkreten System sicher möglich ist.

    Aber es stimmt schon, man muß wissen, was und wofür man misst. Wenn man wissen will, wie schnell das Programm "üblicherweise" sein wird, oder welche Schranke "fast immer" unterboten wird, sind andere Statistiken besser als das Minimum.

    Zitat von Blubberblase

    Wie kann man eigentlich herausbekommen wie groß diese Cacheline ist?


    Man liest die Developer-Dokumentation seines Prozessors. Aber wie Ringding auch gemeint hat, irgendwann ist der Punkt erreicht, an dem du nur noch auf eine Plattform hin optimierst und Sachen machst, die woanders völlig kontraproduktiv wären.

    Zitat
    Code
    int creatematrix(BLOCK *pos) {
     BLOCK shift=0; int BPB = BITS_PER_BLOCK -1;
        int row, col;
     for(row = 0; row < N; row++) {
       for(col = 0; col < N; col++) {
        if(col&1)
           shift |= (1 << (col & (BPB)));
    
       }     
     }
     return 0; 
    }
    Alles anzeigen


    Messungen dieses Codes, und insbesondere des "Einflusses" der Variablen shift, sind völlig unsinnig. Diese Funktion ist semantisch äquivalent:

    Code
    int creatematrix(BLOCK *ismawurscht)
    {
        return 0;
    }


    und der Compiler darf gern entsprechenden Code erzeugen. Ganz so weit geht mein GCC zwar nicht, aber er generiert praktisch keinen Code für den Körper der innersten Schleife, wie wenn ich ihn ganz auskommentiere! Die Zuweisung an shift ist nämlich sogenannter partial dead code---das Ergebnis wird nie wirklich verwendet. Deswegen wird die Zuweisung munter wegoptimiert (bei dir anscheinend nur mit register, oder hast du noch nicht die maximale Optimierungsstufe aktiviert?).

    Jedenfalls: Wenn dich die Performance deines echten Codes interessiert, mußt du deinen echten Code messen. Codeskizzen messen sagt nichts über deinen echten Code aus.

    Zitat

    Aber warum ist diese Operation shift |= (1 << (col & (BPB))); für 32 Bit schneller als für kleinere Blockgrößen?
    Ich habe einen 32 Bit Prozessor. Vielleicht füllt der Rechner ja dieses shift mit zusätzlichen Nullen, damit es im 32 Bit Prozessor gut verarbeitet werden kann.


    Sowas. Geladen werden üblicherweise ganze Speicherworte, aus denen muß dann noch was rausmaskiert werden.

  • Speicherklassen und Pipelining

    • Plantschkuh!
    • 30. Dezember 2007 um 23:58
    Zitat von Blubberblase
    Code
    typedef unsigned int BLOCK; // sind 32 Bit
    //typedef uint8_t BLOCK;
    //typedef uint16_t BLOCK;
    
    
    int creatematrixBPB(BLOCK *pos) {
     int row, col;
     for (row = 0; row < N; row++) {
            for(col = 0; col < N; col++) {
                if(col&1)
                    (*pos++) = (BLOCK)1;
                else (*pos++) = (BLOCK)0;
       }   
     }   
        return 0; 
    }
    Alles anzeigen


    Diese Variante könnte signifikant schneller sein:

    Code
    int creatematrixBPB2(BLOCK *pos) {
     int row, col;
     for (row = 0; row < N; row++) {
            for(col = 0; col < N; col++) {
                *pos++ = col & 1;
       }
     }
        return 0;
    }


    Vielleicht bringts auch sowas:

    Code
    int creatematrixBPB3(BLOCK *pos) {
        int i;
        int max = N * N;
        for (i = 0; i < max; i += 2)
        {
            *pos++ = 0;
            *pos++ = 1;
        }
        return 0;
    }


    Das finde ich übrigens die klarste Variante, leider tut sie in dieser Form nur für gerade N das, was sie tun soll.

    Zitat

    Jetzt habe ich die Zeit berechnet, die für das Zeigererhöhen draufgeht:

    32 Bit: 0,93 s - 0,34 = 0,59
    16 Bit: 0,56 s - 0,34 = 0,22
    8 Bit: 0,41 s - 0,34 = 0,07

    Eine Verdopplung der Blockgröße führt zu ganz grob zu einer Halbierung der Laufzeit?


    Hier ja, du berührst bei doppelter Blockgröße doppelt so viele Speicherworte, und das kostet. Die Zeit geht aber nicht fürs Erhöhen des Zeigers drauf, sondern auf den Speicherzugriff.

    Zitat

    Kann ich diesen Sachverhalt darüber erklären, dass bei 32 Bit der Cache eher voll ist und mehr Cache nachgeladen werden muss, wodurch mehr Zeit verloren geht als bei den anderen Blockgrößen? (wenn ich vorraussetzen kann, das pos ein Cacheobjekt ist)?


    Du kannst getrost davon ausgehen, daß (12000 * 12000 * 4) / (1024 * 1024) Bytes = 549.316 MB an Daten nicht in den Cache passen und womöglich sogar die Festplatte ins Spiel kommt, was noch um Größenordnungen lahmer ist.

    Edit: Das sollte ich vielleicht etwas qualifizieren. Wie alle anderen Objekte im Speicher wird auch dein Array stückweise durch den Cache geschleift werden, aber auch zwischen Cache und Speicher bleiben bei größerer Blockgröße mehr Speicheroperationen über.

    Zitat

    (PS: Mehrfachmessungen wurden durchgeführt und jeweils ein Mittelwert gebildet)


    Das Minimum ist hier besser als der Mittelwert. Die gemessene Laufzeit ist die Summe aus der idealen Laufzeit und einem Störungsterm; die Störung ist aber immer positiv. Die beste Annäherung an die ideale Laufzeit ist also die kleinste gemessene Zeit, da sicher diese Messung am wenigsten gestört ist.

    Edit: Ahja noch was. Ich hab ja schon beiläufig erwähnt, daß du Zählervariablen im Schleifenkopf deklarierst, jetzt hast du auch //-Kommentare. Bist du dir sicher, daß du einen C-Compiler im C-Modus verwendest? Gerade wenn du das Allerletzte aus deiner Maschine rausholen willst, wäre es gut, wenn dein Compiler und du die selbe Sprache sprechen. (Wobei mir im Moment keine subtilen Unterschiede zwischen C und C++ einfallen, die für die Optimierung von diesem konkreten Code relevant wären.)

Rechtliches

Impressum

Datenschutzerklärung