.NET Native Image Generator Kullanarak Windowsu Hızlandırmak...

Trsz_kwT

Özel Üye
Katılım
2 Ara 2017
Mesajlar
467
Tepkime puanı
0
Puanları
0
Windows, .NET kütüphanesiyle yazılmış (VB.NET, C#.NET, F#.NET vb.) uygulamaları çalıştırmak için Framework 2.0 - 4.4 e kadar olan kütüphane kodlarını kullanarak uygulamayı Execute eder. 
Fakat bu çalıştırma öncesi ihtiyaç duyulan ara uygulamaların çok azı derlenmiştir. 
Çoğu kısmı .NET'e ait sanal makine içerisinde çözümlenir ve interpreting edilir. 
Bu nedenle bir Bat yada Cmd toplu işlem dosyası hazırlayarak bu ara derlemeyi biz gerçekleştirirsek .NET uygulamalarını açılma performansının arttığını göreceksiniz...




Öncelikle, Başlat ---> Çalıştır --> %WINDIR%\Microsoft.NET\Framework\
yazarak Framework ana dizinini açın...
Burada sisteminize kurulmuş .NET kütüphane versiyonlarını göreceksiniz...
1.0 ve 1.1 versiyonunu pas geçiniz. (Bu VB6 ve C#6 ya denk gelen kütüphanedir. Böyle bir sorunu yoktur zaten...) 



Ekran_Al_nt_s.jpg




[hide]
Kod:
@echo off

REM Framework v2.0.50727 Runtime
%WINDIR%\Microsoft.NET\Framework\v2.0.50727\ngen.exe update /force
%WINDIR%\Microsoft.NET\Framework\v2.0.50727\ngentask.exe /runtimewide

%WINDIR%\Microsoft.NET\Framework64\v2.0.50727\ngen.exe update /force
%WINDIR%\Microsoft.NET\Framework64\v2.0.50727\ngentask.exe /runtimewide


REM Framework v3.0 Runtime
%WINDIR%\Microsoft.NET\Framework\v3.0\ngen.exe update /force
%WINDIR%\Microsoft.NET\Framework\v3.0\ngentask.exe /runtimewide

%WINDIR%\Microsoft.NET\Framework64\v3.0\ngen.exe update /force
%WINDIR%\Microsoft.NET\Framework64\v3.0\ngentask.exe /runtimewide


REM Framework v3.5 Runtime
%WINDIR%\Microsoft.NET\Framework\v3.5\ngen.exe update /force
%WINDIR%\Microsoft.NET\Framework\v3.5\ngentask.exe /runtimewide

%WINDIR%\Microsoft.NET\Framework64\v3.5\ngen.exe update /force
%WINDIR%\Microsoft.NET\Framework64\v3.5\ngentask.exe /runtimewide


REM Framework v4.0.30319 Runtime
%WINDIR%\Microsoft.NET\Framework\v4.0.30319\ngen.exe update /force
%WINDIR%\Microsoft.NET\Framework\v4.0.30319\ngentask.exe /runtimewide

%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\ngen.exe update /force
%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\ngentask.exe /runtimewide

TIMEOUT /t -1
[/hide]


Yukarıdaki gibi bulunan 2.0 ve üzerindeki tüm versiyonlar ile ilgili kodları oluşturuyoruz.

REM açıklama yazma için kullanılan bir comment kodudur...

En sondaki TIMEOUT /t -1 kodu ise, Bir tuşa basılana kadar komut işlemcisini süresiz olarak duraklatır. 

Misal; Console Application da Readline() yada C++ daki readln(); gibi...



Şimdi bu kodları hazırlayıp, kopyalayın ve Native Image Runtime.cmd dosyası açıp içine yapıştırın...

Sonra bu komut toplu işlem dosyasını yönetici olarak çalıştırın...




Ekran_Al_nt_s_2.jpg




Ekran_Al_nt_s_3.jpg





Ayrıca bu yapacağımız zorlama derlemelerin genel işlemci yoğunluğuna da faydası olacaktır.
Eğer Özel bir Görev Yöneticisiyle fark edecek olursanız (Process Hacker, Process Explorer vb.) CPU boştayken ngen.exe ve ngentask.exe gibi uygulamaların gizlice çalışıp bir şeyler yaptığını görürsünüz. İşte bizim yukarıda kodla yaptığımız işlemleri Windows parça parça yaparak bu derlemeleri oluşturuyordur. Fakat bu kez de CPU boştayken meşgul olmaktadır. Bide bu yükü ortadan kaldırmış oluyoruz. 




Fakat şimdiye kadar ihtiyaç duyulmayan bir .NET kütüphane derlemesine ihtiyaç duyan yeni bir .NET programı üretir yada bilgisayarımıza indirirsek yukarıdaki CMD dosyasını tekrar çalıştırmamız gerekir. Çünkü bu derlemeler genel itibariyle ihtiyaç üzerine yapılmaktadır...
 


Bende SSD olmasına rağmen bu işlem 42 dakika sürdü.

Sonra bilgisayarı yeniden başlatıyoruz...




[font=Arial, Tahoma, Helvetica, sans-serif][font=Verdana, Arial, helvetica, sans-serif][size=small][font=Georgia,][ Trsz_kwT ][/font][/font][/size][/font]
 

God3err

Spys-Z
Katılım
5 Ağu 2015
Mesajlar
334
Tepkime puanı
0
Puanları
0
Yaş
58
Bakalım :d

Hata  :II

0BZvaL.jpg



Hata düzeltildi kodlar şu şekilde olacak :

[hide]

Kod:
@echo off

REM Framework v2.0.50727 Runtime
"%WINDIR%\Microsoft.NET\Framework\v2.0.50727\ngen.exe" update /force
"%WINDIR%\Microsoft.NET\Framework\v2.0.50727\ngentask.exe" /runtimewide

"%WINDIR%\Microsoft.NET\Framework64\v2.0.50727\ngen.exe" update /force
"%WINDIR%\Microsoft.NET\Framework64\v2.0.50727\ngentask.exe" /runtimewide


REM Framework v3.0 Runtime
"%WINDIR%\Microsoft.NET\Framework\v3.0\ngen.exe" update /force
"%WINDIR%\Microsoft.NET\Framework\v3.0\ngentask.exe" /runtimewide

"%WINDIR%\Microsoft.NET\Framework64\v3.0\ngen.exe" update /force
"%WINDIR%\Microsoft.NET\Framework64\v3.0\ngentask.exe" /runtimewide


REM Framework v3.5 Runtime
"%WINDIR%\Microsoft.NET\Framework\v3.5\ngen.exe" update /force
"%WINDIR%\Microsoft.NET\Framework\v3.5\ngentask.exe" /runtimewide

"%WINDIR%\Microsoft.NET\Framework64\v3.5\ngen.exe" update /force
"%WINDIR%\Microsoft.NET\Framework64\v3.5\ngentask.exe" /runtimewide


REM Framework v4.0.30319 Runtime
"%WINDIR%\Microsoft.NET\Framework\v4.0.30319\ngen.exe" update /force
"%WINDIR%\Microsoft.NET\Framework\v4.0.30319\ngentask.exe" /runtimewide

"%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\ngen.exe" update /force
"%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\ngentask.exe" /runtimewide

TIMEOUT /t -1

[/hide]
 

Trsz_kwT

Özel Üye
Katılım
2 Ara 2017
Mesajlar
467
Tepkime puanı
0
Puanları
0
God3err' Alıntı:
Bakalım :d

Hata  :II

0BZvaL.jpg


WINDIR önünde ve sonunda sadece yüzde işareti olacak. Eğer burada olduğu gibi tire işareti varsa hata alırsınız. Eğer hala hata alıyorsan demekki sendeki ortam değişkenlerin hata vardır. Elle yoluna gidip onu yapıştır.

Misal;

PHP:
%WINDIR% 
yerine
C:\Windows
 

mersin escort bodrum escort alanya escort kayseri escort konya escort marmaris escort bodrum escort tto dermodicos vozol puff
Üst
Copyright® Ajanlar.org 2012