Program exe'ye dönüştükten sonra yavaş çalışıyor

Arkadaşlar yaklaşık 2 aydır yazdığım programımda sona yaklaştım. Kodları paylaşamıyorum çünkü yazılım birkaç farklı modülden oluşuyor ve toplamı 10.000 satırın epey üzerinde.

Yazılımın:
Arayüzünü Pyqt5 ile tasarladım
Exe oluşturduktan sonraki yaklaşık boyutu 90mb

Sorunum özetle şu şekilde:
Kodlarımı yazdığım Visual Code üzerinde çalıştırdığımda program gayet hızlı bir şekilde çalışıyorken pyinstaller ile exeye dönüştürdükten sonra ilk açılış esnasında (her çalıştırıldığında) 10-20 saniyeye varan bekleme sürelerinden sonra açılıyor.

Açıldıktan sonraki işleyişte herhangi bir sorun yok gayet stabil ve hızlı çalışıyor ancak o ilk açılış anı can sıkıyor malesef.

İşletim sisteminin bu tip durumlarda nasıl davrandığını bilmiyorum acaba tek seferde 90mb veriyi belleğe alıp o şekilde işlediği için mi ilk anda yavaş açılıyor.

  • Uygulamayı kurulum paketi haline dönüştürüp kurarak kullanmak çözüm olabilir mi?

  • Bu tip sorunlar genellikle neden oluşur. Aşmak için neler yapabilirim.

Değerli yorumlarınız için şimdiden teşekkür ederim.

1 Beğeni

Projeyi pyinstaller ile exe formatına çevirirken kullandığınız komutu paylaşır mısınız?

C:\Users\ibrahim\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\Scripts\pyinstaller.exe --onefile --noconsole --ico ikon.ico _panotasarimMain.py

Dosyaların olduğu klasör içinde powershelli çalıştırıp bu komutu yazıyorum.
pyinstallerin tam yolunu yazmadığım zaman hata veriyor. onun icin bu şekilde uzun uzun yazıyorum.

Öncelikle merhaba;

O kod exe’ye çevirmek için kullandığınız pyinstaller komutunda lütfen --onefile eklentisini kaldırın, bu şekilde daha hızlı çalışacaktır. Kolay gelsin :wink:

Teşekkür ederim deneycem.

İşlevini merak ettim onefile komutunun işlevini kısaca açıklar mısınız.

Kopyala yapıştır yaptığım için ne işe yaradığını bilmeden kullanıyorum. Eksisi artısı nedir acaba.

1 Beğeni

–onefile komutu olusturdugun projeyi tekndosya olarak çıkarır, tek bir dosya o kadar komutu çalıştırmaya zorlandigindan dolayı yavaş çalışır. Eğer --onefile komutu kullanmazsan daha çok dosya ve daha hızlı program. Teşekkürler. Kolay gelsin

Uygulamayı ve kaynakları bir klasöre koymak yerine hepsini sıkıştırıp tek bir dosya haline getiriyor.

Tek artısı bütün projeyi tek bir dosya haline getirmesi.

Komutlar, dosyalar tarafından çalıştırılan şeyler değil.

--onefile argümanını kullanmayınca uygulamanın hızlanma sebebi, tek bir dosya halinde inşa edilen uygulamanın aksine, sıkıştırdığı kaynakları tekrardan kullanılabilir hale getirmek ile uğraşmaması.

2 Beğeni