PyQt5 vs Tkinter

Jython’u bimem ama PyPy ile kapatılacağını düşünmüyorum. Zamanında graf sorusu çözerken aynı algoritmayı py ile yaptım, PyPy ile submitledim çözümümü. TLE(Time Limit Exceed) yedim. cpp ile AC(Accepted) aldım(O günden beri artık py tercih etmiyorum genelde). @hasser beyin haklı olduğunu düşünüyorum. qt 'nin cpp desteği de var. Hız istiyorsanız py iyi bir alternatif değil.

EDIT: Problem - B - Codeforces problem bu

2 Beğeni

tkinter yavaş artı exeye çevirilemiyor consoleda çalışmıyor ama PyQt5 çalışıyor. tkinteri bayağı bir kullandım ve çok yavaş diyebilirim

Test için zamanım olmadığından sormuştum bu soruyu 1 tane bile adam akıllı cevap veren yok. Bilmiyorsanız lütfen kirletmeyiniz buraları işimize yarayan bölgeler buralar.

Bu sorunun net bir cevabı yok. İşleyişleri birbirlerinden epey farklı, bir konuda PyQt5 daha hızlıysa, başka bir konu da TkInter daha hızlı olabilir.

ben burada burayı kirleten bir cevap göremiyorum

2 Beğeni

Python gibi bir dilde hız konuşmak senin hatan.

1 Beğeni

Yani bence de çok saçma, aynı py kodunu çalıştırsak bile bilmem kaç milisaniye fark oluyor. Her zaman aynı sürede bitmiyor kodlar. Aynı kod bile milisaniyelik oynamalar yapıyorken sen gelmiş milisaniyeler bile önemli diyorsun. Tamam anlıyorum zaman senin için önemli ama biz de sana yardımcı olmaya çalışıyoruz. Anlatmaya çalıştığım şey tkinter vs. PyQt5 hız karşılaştırması yapmanın doğru olmadığıydı. Çok kabasın.

Tamam, odununun parası senin olsun. Benden buraya kadar.

Al bak aşağıya:

4 Beğeni

1 - Sordugunuz soru yanlıs.
2 - Milisaniyeler onemliyse python sadece gui yazmak icin kullanılabilir fakat bu kadar bilgiyle milisaniyelere takılmanız yanlıs.

3 - Size yardımcı olmak isteyen insanlara bu sekilde cevap vermeniz cok yanlıs.

2 Beğeni

PyQt5 vs Tkinter diye arattigim onca makaleden şunları öğrendim ve paylaşmak isterim.
1- Tkinter arayüzü ile yazilan programlarda ileri zamanlar saçma sapan hatalar ve çökmeler ile karşılaşırsınız. (yaşanmış bir olay. Entry alanının kendi kendine yok olduğuna tanık oldum. Aç kapa düzeldi. Ancak bu hata gerçekten anlamsizdi )
2- Tkinter gerçekten yetersiz.listboxta veriyi çekerken sütun kolon ayrımı yok. Kendiniz oluşturmak için Tkinterin içinde kaç kere geçersiniz kim bilir. Bu sadece bir eksik. Daha onlarca sayarım.
3 - ticari işlemler için herhangi bir buton tasarımı vb. Ekran tasarimi yapamazsiniz. Cafcaf arıyorsanız uzak durun.

İyi yönü :
Çok basit.

PyQt5 :
1- Çok iyi. Basit kodlama. Hatta pysidenin bile desteklediği tasarım programı mevcut. İmkanları çok fazla.

Kötü yönü :
Lisans. Birkaç araştırmada yazılan programlar ticari amaca gectiginde lisans ücreti isteniyor olduğunu okudum.

Tavsiyem.

WxPython :

Kardeşim bu forumda wxpythonu tanıdım. Kaynak olarak başlangıç seti gosterdiler. Ve o adama halen teşekkür ederim. Tavşan deliğini bana gösterdi.
Translate ile çevir kaynakları. Kod zaten aynı kod. Örnek binlerce. Ve sürekli güncelleniyor. İlk ticari yazılımımi bununla yazdım. Ve şöyle diyebilirim. Müşteriye ilk tkinter ile sundum. Süper Mario ya benziyordu. Şimdi WxPython ile cyberpunk 2077 oldu.

5 Beğeni

Ha birde MS. Önemli demişsin. Sanırım tetik suresi olarak düşünmüşsün. Burada hızlı olan Tkinter olur. Çünkü direk olarak veriyi Tkinter icerisine gömülü olan bir kaynaktan almaya çalışırsın. PyQt5 harici kutuhanelerden yararlanıyor. Buda ister istemez o milisaniyeleri etkiliyor. Ancak bu gözle görülür mü ? O şüpheli. Ki bu skalaya wxpythonu sokmuyorum bile.

Ayrıca kodlama tarzın.
Ne kadar az ve işlevsel kod yazabildigin.
Bunlar asıl konular. Etkileyen ana faktorlerde bunlardir.

Bu şahsi düşüncemdir.

5 Beğeni

Arkadaşlar sözüm meclisten dışarı. Bana yardım etmeye çalışanlara ve edenlere çok çok teşekkür ederim lütfen yanlış anlaşılmasın. Çoğu forumda olduğu gibi burda da sadece yorum sayısını artırmak amacıyla yazanlara o sözüm. Dediğiniz gibi milisaniyeler pythonda biraz zor fakat ben yapacağım projeyi daha komplex bişeye çevirdikçe her mili saniye birikip bu daha çok artacak o yüzden milisaniyelerden bahsettim. Tekrardan çok teşekkür ederim.

2 Beğeni

dostum gerçekten bu fark önemli örneğin bir oyun düşün saniyede büssürü işlem yapıyor python ise bu işlemler üstüne derleniyor. veya password cracker fln düşün… ileri düzey işlerde bu fark önemli yani.

Vaay öyle bir şey mi varmış? Zaten çok mesaj atınca moderatör oluyoruz(!)

O zaman gidin de C dillerinden birini öğrenin saatler kaybedersiniz -aslında kaybetmezsiniz- ama milisaniyeleri geç saniyelerle fark atarsınız.

1 Beğeni

ben de dicektim yorum yazmak para fln kazandırmaz sonradan uzatmym diyip sustm XD

Merhaba,

Kusura kalma o zaman. Ama yine de latif bir cevap verilseydi daha şık olurdu bence

Okey, bazı işlemler için zaman çok kıymetli ama oyunlar için neden py den ziyade cpp vs. nin tercih edildiğini de düşünmek lazım.

Python dan başka bir dil bilinmiyor olabilir. O zaman bir şey diyemem.

O zaman kendimce aklıma gelen son seçenek: Python içinde C kullanmak. Yani bu işi py de halletmek istiyorum ama bazı fonksiyonlar daha hızlı olmalı diyorsan bunları c(cpp de olabilir bilemiyorum) de yazıp daha sonra py de kullanılabilir. Bunu da dll dosyaları ile yapıyoruz. Ama onun da yolu C ye çıkıyor. İstiyorsanız size şu yazıyı atabilirim.

Ama @Nuh_Cb bey benden daha deneyimli tahmin ettiğim kadarıyla. Sorununuzun çözülmesi dileklerimle.

Bir de özel değilse tam olarak ne yapıyorsunuz da gui nin hızı çok önemli oluyor. Butona atadığınız fonksiyon nasıl bir işlem yapacak ki. Bunu şunun için soruyorum. Amacın Y dir ama X i arayarak hepimiz boşa kürek çekiyor olabiliriz.

Yani sorun gui den ziyade kod optimizasyonu sorunu da olabilir, ya da atıyorum normalde diğer işlemler için şunu yaparken bizim işlemimiz istisnai bir duruma da sahip olabilir.

4 Beğeni

Hızlı yapılması gereken işlem ne tam olarak? CPU bound, yani fazlasıyla işlemci gücü gerektiren bir şey ise o kısım Rust’ta yazılabilir.

Benim deneyimlerimde çok yavaştı.

Gömülü kaynak nedir? Harici kütüphane kullanma işleminin kendisi niçin yavaşlığa sebep olsun?

PyPy bir JIT (just in time) compiler. Optimizasyonları program çalışırken dinamik olarak yapıyor. Bu optimizasyonlar arasında programın bazı kısımlarının makine koduna derlenmesi de var.

Sitesinde CPython’dan ortalama 4 kart hızlı olduğu yazıyor ama hiç kullanmadım.

Jython da Python kodunu java bytecode’una derleyerek JVM üzerinde çalıştırıyor.

:+1:

Katılıyorum, ayrıca C ve Cpp’nin pabucunu dama atmayalım lutfen :slight_smile: Bu diller ile Python zenginlestirilebilir hatta bu dilleri Python ile zenginlestirebilirsiniz. Burada embedding hakkında guzel bir dokuman var.

Bunu da cevaplarsanız tam olarak istediginiz cevabı alabilirsiniz sanırım.

Onlar zaten alternatif ve yukarıda yazılmış.

Aynı şey Rust için de geçerli:

1 Beğeni

Cok hızlı olgunlasıyor, daha once bakmamıstım, gorunce sasırdım.

2 Beğeni

Bende şuan araştırıyordum. Pointer gibi makine diline yakın şeylerde pek bilgim olmadığı için c de türkçe temel alıp rusta geçmeyi bile düşünüyorum.