ASP.NET: Roslyn verlangsamt sich bei Seitenänderungen

8

Ich habe eine VB.NET ASP.NET (4.6.1) MVC-Anwendung, die mit den neuen Roslyn Compilern erstellt wird.

Jedes Mal, wenn ich eine (vbhtml) -Datei ändere und die Seite neu lade, dauert es ca. 9 Sekunden, um die Seite neu zu laden. In dieser Zeit laufen eine vbc.exe und eine VBCSCompiler.exe:

Ich konnte keine Hinweise für diese langsame Performance finden (mit ANTS-Profil) und mein System sollte schnell genug sein, um die Anfragen viel schneller zu bearbeiten (Windows 10 x64, i7-2600, 16GB RAM, Samsung SSD für alle Dateien) .

Ich habe auch die neuen Roslyn Builds ausprobiert, aber nichts hat sich geändert:

%Vor%

Irgendwelche Ideen, wie ich bessere Nachladezeiten bekommen kann?

UPDATE1: Wenn ich das Paket Microsoft.CodeDom.Providers.DotNetCompilerPlatform lösche, sinkt die Ladezeit meiner Seite auf & lt; 500ms!

    
Christoph 03.02.2016, 18:27
quelle

2 Antworten

7

Der neue Compiler braucht einige Sekunden, um zu starten, da er viele IL-Assemblies JITEN muss. Wenn der Compiler und seine Abhängigkeitsassemblys geändert werden, wird die Startzeit reduziert. Was Sie tun können, ist die Compiler-Assembly zu finden und

zu tun %Vor%

Sie müssten die obigen Befehle von einer erhöhten Konsole ausführen. Und Sie müssen möglicherweise die 64-Bit-ngen.exe verwenden, wenn Ihr Computer 64-Bit ist. Normalerweise findet das 64-Bit ngen.exe in C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319.

    
X-Mao 09.03.2016 01:30
quelle
5

Ich habe mit Microsoft an einer Lösung für dieses Problem gearbeitet, und es ist nicht so einfach wie das NGENing der Assemblies. Es gibt zwei Probleme, an denen sie arbeiten, um sie anzugehen, einer davon ist der Roslyn-Compiler selbst. Sie können diesen Fehler hier verfolgen: Ссылка . Wenn der andere Fehler auf einem öffentlichen Tracker auftritt, werde ich sicher sein, dass ich darauf verlinke.

    
Robert McLaws 11.04.2016 00:38
quelle

Tags und Links