1. Foren
  2. Kommentare
  3. Sonstiges-Forum
  4. Alle Kommentare zum Artikel
  5. › Microsoft: Windows 11 bietet…

CoW für Dev Dateisystem?

  1. Thema

Neues Thema


  1. CoW für Dev Dateisystem?

    Autor: xUser 28.09.23 - 13:13

    Wie soll CoW denn performant sein, wenn man viele kleine Dateien hat?

  2. Re: CoW für Dev Dateisystem?

    Autor: Lufegrt 28.09.23 - 15:05

    xUser schrieb:
    --------------------------------------------------------------------------------
    > Wie soll CoW denn performant sein, wenn man viele kleine Dateien hat?

    Was ist dein Punkt. Ein 11 ist seit langem ein Betriebssystem wo Microsoft seine Zielgruppe definiert hat und konsequent das Betriebssystem gestaltet und teilweise zurückbaut.

  3. Re: CoW für Dev Dateisystem?

    Autor: xUser 28.09.23 - 16:15

    Lufegrt schrieb:
    --------------------------------------------------------------------------------
    > xUser schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Wie soll CoW denn performant sein, wenn man viele kleine Dateien hat?
    >
    > Was ist dein Punkt. Ein 11 ist seit langem ein Betriebssystem wo Microsoft
    > seine Zielgruppe definiert hat und konsequent das Betriebssystem gestaltet
    > und teilweise zurückbaut.

    Was willst du mir sagen? Ich habe eine klare Frage gestellt.

  4. Re: CoW für Dev Dateisystem?

    Autor: JouMxyzptlk 28.09.23 - 17:37

    CoW für den Dev-Drive macht in der Tat keinen Sinn wenn man nicht explizit "Vorgängerversionen" ständig nutzen will, bzw jede einzelne Änderung von Dateien nachvollziehen und Rückgängig machen will. Die Informationen sind somit mal wieder lückenhaft (und ich hab grad keine Lust zu recherchieren).
    Zumal der "Vorgängerversion" Reiter im Explorer sowieso für lokale Laufwerke defekt ist, seit Mai 2022. Erst durch MEIN ständiges meckern ist es einen Microsoft Mitarbeiter aufgefallen und hat daraus einen Bugreport gemacht. Mit etwas Glück ist es endlich in 23H2 fixed. Ich bin immer noch bei Win11 21H2 nur wegen diesem einen Bug. Ohne Vorgängerversion will ich nach über 20 Jahren von diesem Luxus nicht mehr.

  5. Re: CoW für Dev Dateisystem?

    Autor: mdschw 28.09.23 - 19:48

    Ich kann mir schon vorstellen, dass ein Entwicklersystem von CoW profitieren kann, wenn beispielsweise Pakete aus dem globalen Cache eines Paketmanagers verlinkt statt kopiert werden. Ich denke da ganz besonders an node_modules

  6. Re: CoW für Dev Dateisystem?

    Autor: xUser 28.09.23 - 20:10

    mdschw schrieb:
    --------------------------------------------------------------------------------
    > Ich kann mir schon vorstellen, dass ein Entwicklersystem von CoW
    > profitieren kann, wenn beispielsweise Pakete aus dem globalen Cache eines
    > Paketmanagers verlinkt statt kopiert werden. Ich denke da ganz besonders an
    > node_modules

    Und wo hilft da CoW? Verlinken geht auch ohne. Und auch bei CoW müsste das Dateisystem erstmal erkennen, dass da zwei gleiche Dateien existieren, um eine Deduplikation durchzuführen.
    Dafür werden viel kleine Änderungen (git checkout) sehr langsam.

  7. Re: CoW für Dev Dateisystem?

    Autor: mdschw 29.09.23 - 16:31

    Bist du dir sicher, CoW nicht missverstanden zu haben? Statt bei einer Kopie den vollen Dateiinhalt zu übertragen, wird eine Art Hardlink gesetzt. Erst wenn die Datei von einer verlinkten Stelle im Dateisystem geändert wird, tritt der der eigentliche Kopiervorgang ein und der entsprechende Verweis in der Dateizuordnungstabelle wird neu gesetzt. Hierdurch entsteht kein Mehraufwand. Die beiden Operationen wären bei einer echten Kopie auch notwendig gewesen. Danach wird von dieser Stelle im Dateisystem mit einer "echten" Kopie gearbeitet ohne Verweis auf die ursprüngliche Datei und CoW-Methodik.

    Wie hilft das bei einem Paketmanager? Paketmanager cachen üblicherweise die zuvor heruntergeladenen Pakete global auf der Festplatte. Bei einer erneuten Verwendung in einem weiteren Projekt wird das Paket aus diesem globalen Cache kopiert anstatt erneut heruntergeladen zu werden. Mit CoW kommt die oben beschriebene, preisweitere Methode anstatt einer herkömmliche Kopie zum Einsatz. Besonders effektiv ist das hier, da externe Programmbibliotheken als unveränderlich zu betrachten sind und deshalb nie die "echte" Kopie eintritt. Auch das Löschen des Projektordners ist "preiswerter", da nur der Verweis in der Zuordnungstabelle entfernt wird, die eigentlichen Dateien verbleiben weiterhin im globalen Cache-Ordner des Paketmanagers. In der Praxis bedeutet das, dass die Installation und Entfernung von Paketen, sowie die Kopie oder Löschung ganzer Projektordner samt ihrer lokalen Paket-Caches (node_modules etc.) schneller ist.

    Ein git checkout ist dadurch nicht betroffen, da hier ohnehin keine Dateien schlicht kopiert werden (siehe Inhalt des .git Verzeichnis). Weiterhin besteht im Dateisystem ein Unterschied zwischen "Datei modifizieren" und "Datei überschreiben".

    Auch das Kopieren kleinster oder leerer Dateien ist mit CoW merklich schneller. Siehe folgende Messungen von Microsoft:

    github[dot]com/microsoft/CopyOnWrite#performance-comparisons

    Blog-Eintrag mit mehr Infos:

    devblogs[dot]microsoft[dot]com/engineering-at-microsoft/dev-drive-and-copy-on-write-for-developer-performance/

  8. Re: CoW für Dev Dateisystem?

    Autor: xUser 30.09.23 - 08:38

    Danke für den langen Text, aber er geht an meiner Frage vorbei.

    Paketmanager für die Entwicklung nutzen normalerweise (wenn die modern genug sind) einen Content Addressable Store als Central Cache. In den eigentlichen Projektordnern verlinken die nur die Pakete (symlink).
    Für Copy on Write müssten sie die Kopieroperation des Betriebssystems aufrufen. Ansonsten weiß das OS nichts davon. Außerdem werden dependencies normalerweise nicht modifiziert, wodurch gar kein Write nötig ist.

  1. Thema

Neues Thema


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Senior Architect Microsoft Azure (m/w/d)
    operational services GmbH & Co. KG, Frankfurt am Main, Berlin, Dresden, München
  2. Mitarbeiter*in Training / Helpdesk (m/w/d)
    Universitätsmedizin der Johannes Gutenberg-Universität Mainz, Mainz
  3. Informatikerin bzw. Informatiker (w/m/d) mit Bachelor oder Fachhochschul-Diplom
    Bundeskartellamt, Bonn
  4. Linuxadministrator (m/w/d)
    Universitätsmedizin der Johannes Gutenberg-Universität Mainz, Mainz

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. basierend auf Verkaufszahlen
  2. basierend auf Verkaufszahlen


Haben wir etwas übersehen?

E-Mail an news@golem.de