Tut das Typische malloc
(für x86-64-Plattform und Linux-Betriebssystem) einen Mutex am Anfang naiv sperren und ihn freigeben, wenn er fertig ist, oder sperrt er einen Mutex cleverer auf einer feineren Ebene, sodass Sperrkonflikte reduziert werden? Wenn es tatsächlich den zweiten Weg macht, wie macht es das?
Wie funktioniert malloc in einer Multithread-Umgebung?
pythonisch
-
Ich bin mir immer noch unschlüssig, ob nedmalloc eine echte Ingenieursleistung oder SEO-Spam ist… 🙂
– R.. GitHub HÖR AUF, EIS ZU HELFEN
22. Mai 2012 um 18:39 Uhr
-
auch tcmalloc von Google, das Sperren für Buckets verwendet, die Ihrer Anfrage entsprechen. Bessere Thread-Leistung mit weniger Konflikten, mehr Überschusszuordnung.
– böser otto
22. Mai 2012 um 20:09 Uhr
-
@R..: Es sieht auf den ersten Blick etwas verdächtig aus, aber es hat Quellcode, so dass Sie es selbst bewerten können (ich habe es nicht getan). Doug Lea sagt auch “Wenn Sie malloc in einem gleichzeitigen Programm verwenden, ziehen Sie stattdessen die Verwendung von nedmalloc oder ptmalloc in Betracht” in den Kommentaren für
dlmalloc.c
. Also ich denke, es ist wahrscheinlich legitim.– Adam Rosenfield
22. Mai 2012 um 21:06 Uhr
In welchem Kontext haben Sie das gesehen? Irgendein zitierter Code oder Verweis?
– Raulp
22. Mai 2012 um 17:04 Uhr
leise: Ich frage, sage nicht.
– pythonisch
22. Mai 2012 um 17:05 Uhr