Außer wenn ich versuche, mit meiner WSL-Toolchain zu erstellen.
Die Der einfachste Weg, meine Entwicklungsumgebung einzurichten, besteht darin, CLion (auf dem Windows-Host) zu installieren, mein Projekt zu klonen, eine Windows- und eine WSL-Toolchain einzurichten und beide zu erstellen.
Auf meinem älteren PC, Das Ausführen von Ubuntu-22.04 im WSL2-Modus war einfach so schnell wie mit meiner nativen Windows-Toolchain. Bei der neuen Version dauert allein die CMake-Konfiguration unter Windows 0,6 Sekunden und unter WSL mehr als 15 Sekunden. Die Build-Dauer beträgt mehrere Sekunden (wenn nicht Dutzende) auf WSL pro Datei statt mehrerer Dateien pro Sekunde für Windows.
Die Systeme sind etwas anders Windows 11-Builds (22H2 auf dem alten, 24H2 auf dem neuen), aber ich möchte das alte natürlich nicht aktualisieren, falls das das gleiche Problem verursacht.
Beide haben Hyper-V und Virtual Machine Platform installiert und Ich habe versucht, jede Funktion zur Virtualisierungsunterstützung in jedem BIOS zu aktivieren.
Ich habe Dinge über Dateisystemänderungen von WSL1 zu WSL2, über virtualisierte Sicherheit, über Windows Defender und so weiter gelesen. Was ich bisher auf dem neuen PC versucht habe:
- Der Wechsel zu WSL1 behebt Build-Zeiten, unterbricht aber das Debuggen: gdb hängt einfach und kann nicht von CLion beendet werden , außerdem scheint der Trick „DISPLAY=:0“ nicht mehr zu funktionieren. Außerdem ist WSL1 ziemlich alt und wird wahrscheinlich in mehrerlei Hinsicht kaputt gehen. Nicht wirklich eine Option.
- Der Wechsel zu einer anderen Distribution hat keine Auswirkungen auf die Build-Zeiten
- Das Ausschalten von Windows Defender und/oder das Ignorieren von Build-Verzeichnissen hat keine Auswirkungen< /li>
Credential Guard ist deaktiviert - Das Klonen des gesamten Projekts in ein natives WSL-Verzeichnis ist auch keine wirklich gute Option, da das bedeuten würde, dass ich es auch nicht tun würde Ich habe 2 Kopien meines Codes oder muss meine Windows-Entwicklungsumgebung verwenden das Quellverzeichnis innerhalb der WSL.
Ich möchte noch einmal betonen, dass ich ein anderes, softwaremäßig fast identisches System habe mit genau dem gleichen Build-Setup, auch unter Verwendung von WSL2, bei dem dieses Problem nicht auftritt. Die Antwort kann einfach nicht sein, dass es sich ausschließlich um das WSL2-Dateisystem handelt.
Diese Frage muss noch beantwortet werden, für mich und für die Community:
Was Könnte dazu führen, dass eine neue WSL2 viel langsamer erstellt wird, als allein aufgrund ihres suboptimalen Dateisystems zu erwarten ist?