Ergebnis 1 bis 20 von 255

Thema: while(true) {write();} - Der Programmierer-Spamthread #1

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    calloc() macht doch das selbe, was du gemacht hast.

  2. #2
    Zitat Zitat von Whiz-zarD Beitrag anzeigen
    calloc() macht doch das selbe, was du gemacht hast.
    Schau dir die Verwendung von memset nochmal genauer an

  3. #3
    Zitat Zitat von Mivey Beitrag anzeigen
    Mein C ist nicht so wirklich gut, aber lese ich richtig das "&Buffer" das Problem ist? Weil es ist ja ein Pointer und so
    Dein C ist offensichtlich besser als meins: Ich dachte nur "na toll, wird gar nicht ge-free()-t".

    Zitat Zitat von Whiz-zarD Beitrag anzeigen
    calloc() macht doch das selbe, was du gemacht hast.
    Tut es, und ich frage mich, warum immer malloc() verwendet wird. Kann mir das wer erklären?

  4. #4
    Zitat Zitat von dead_orc Beitrag anzeigen
    Tut es, und ich frage mich, warum immer malloc() verwendet wird. Kann mir das wer erklären?
    Naja, solange du den Speicher nicht genullt brauchst, ist calloc() halt unnötiger Mehraufwand. Andernfalls ist's aber echt eine gute Frage. ^^" Gewohnheit wohl, und die Tatsache, dass es meist nicht viel Unterschied macht, performanztechnisch.

    @ Whiz: Er hat ja geschrieben, "Ähnliches", ist im Original also vielleicht eh sinnvoller, bzw. nicht der Punkt.

  5. #5
    Zitat Zitat von dead_orc Beitrag anzeigen
    Tut es, und ich frage mich, warum immer malloc() verwendet wird. Kann mir das wer erklären?
    Ich denke, das hat wohl was damit zu tun, dass C für Unix gedacht war und Unix generell den Speicher mit Nullen belegt. Da macht es keinen Unterschied, ob malloc() oder calloc(). Nur unter Windows muss man da höllisch aufpassen. Auch wenn man den Speicher nicht genullt braucht, würde ich es dennoch machen. Schaden kann es nicht.

  6. #6
    Daß malloc() den Speicher nullt ist auch unter Unix nicht garantiert. Die meisten oder alle neueren Unixe machen es zwar so, aber garantiert ist es absolut nicht.

  7. #7
    Zitat Zitat von dead_orc Beitrag anzeigen
    Tut es, und ich frage mich, warum immer malloc() verwendet wird. Kann mir das wer erklären?
    In einigen Faellen ist es aufgrund des Zeitbedarfs einfach besser, malloc anstatt calloc zu verwenden.

  8. #8
    Zitat Zitat von Brauni90 Beitrag anzeigen
    In einigen Faellen ist es aufgrund des Zeitbedarfs einfach besser, malloc anstatt calloc zu verwenden.
    Naja, der Zeitbedarf ist doch recht minimal, sodass man ihn schon quasi vernachlässigen kann.
    Der Zeitunterschied zwischen den beiden Funktionen, bei 1.000.000 Blöcken a 1 MB Plus Freigeben des Speichers liegt, bei meinem Rechner, bei 124 ms.
    Ich besitze einen Intel C2D E6600 (2x 2,4 Ghz) und 2 GB RAM.
    Da gibt es eigentlich kein Optimierungspotenzial.

  9. #9
    Zitat Zitat von Whiz-zarD Beitrag anzeigen
    Naja, der Zeitbedarf ist doch recht minimal, sodass man ihn schon quasi vernachlässigen kann.
    Der Zeitunterschied zwischen den beiden Funktionen, bei 1.000.000 Blöcken a 1 MB Plus Freigeben des Speichers liegt, bei meinem Rechner, bei 124 ms.
    Ich besitze einen Intel C2D E6600 (2x 2,4 Ghz) und 2 GB RAM.
    Da gibt es eigentlich kein Optimierungspotenzial.
    Das entspricht einem Mindestdatendurchsatz von etwa 7,7TiB/s, wenn ich mich nicht verrechnet habe Oo. Ein weltweites Text- oder Bildbearbeitungsprogramm zaehlt jedenfalls nicht zu "In einigen Faellen".

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •