Programlar hangi dile adapte olmalı?

herrera

Centipat
Katılım
23 Eylül 2019
Mesajlar
7
Arkadaşlar merhaba,

Hem görsel programlama hem de ciddi manada matematiksel işlemler yapacağım bir program yazmayı düşünüyorum. 3 boyutlu görselliklerin olduğu ve kod içerisinde ciddi oranda iterasyon işlemleri ve matematiksel çözümler olan bir program yazıyorum. C# ve Visual basic üzerinden yazdığım bu programda temel sorunum hız. Şöyle ki 15 tane 50*25'lik bir tablo oluşturmak, bu verileri grafikler üzerinde görüntülemek ve aynı anda binlerce iterasyon işlemi yapmam gerekiyor. İterasyonların da alt iterasyonları ve alt matematiksel işlemleri bulunuyor. Sizce bu boyutlarda veri işlediğim ve görsellik yapmam gereken bir masaüstü programı hangi dil ile yazmalıyım. C++ düşündüm ama emin olamadım. Forumda okuduğum kadarıyla hız ve performans konusunda en çok önerilen dil C++. Şu anda yapmam gereken şey programı yeni dile adapte etmek olacak. Şöyle ki proje çok basit ama içeriğinde işlenen veri miktarı çok fazla. Elimdeki programı yeni dile adapte etmem için 1 yıllık sürem var yaklaşık ve bu sürede hem performans alacağım hem de dili öğrenebileceğim platform için fikirlerinizi bekliyorum.
 
Kac thread calisiyor program? %100 CPU utilizasyonu yoksa dil degistirmek cok yanlis tercih. Eger CPU yu %100 utilize etmene ragmen yeterince hizli degi ise horizontal scaling deneyebilirsin. Yaziklarindan ne tarz bir problemle ugrastigini anlamadim ama dil degistirmek cok radikal bir hamle. Eger 20-30 satirlik bir is ise yaptigin sorun yok ama koca projeyi adapte etmekse gereksiz.
 
Kac thread calisiyor program? %100 CPU utilizasyonu yoksa dil degistirmek cok yanlis tercih. Eger CPU yu %100 utilize etmene ragmen yeterince hizli degi ise horizontal scaling deneyebilirsin. Yaziklarindan ne tarz bir problemle ugrastigini anlamadim ama dil degistirmek cok radikal bir hamle. Eger 20-30 satirlik bir is ise yaptigin sorun yok ama koca projeyi adapte etmekse gereksiz.
horizontal scaling denemedim hocam ama yine de bu büyüklükte data'yı işlemek için farklı bir platforma geçmem gerekiyor. Şu anda sonucu alma sürem 6-7 dakika civarında ve ben 3 saniyenin altına inmem lazım. daha güçlü bir dile ihtiyacım olduğunu düşünüyorum açıkçası çünkü horizontal scaling bu problemi çözebilecek bir etki sağlamayacaktır kanımca.
program içeriği olarak da iç içe onlarca iterasyon kullanmak durumundayım. ve bu iterasyonların her birinde 1000 ve üzeri değeri itere etmek gerekiyor.
 
horizontal scaling denemedim hocam ama yine de bu büyüklükte data'yı işlemek için farklı bir platforma geçmem gerekiyor. Şu anda sonucu alma sürem 6-7 dakika civarında ve ben 3 saniyenin altına inmem lazım. daha güçlü bir dile ihtiyacım olduğunu düşünüyorum açıkçası çünkü horizontal scaling bu problemi çözebilecek bir etki sağlamayacaktır kanımca.
program içeriği olarak da iç içe onlarca iterasyon kullanmak durumundayım. ve bu iterasyonların her birinde 1000 ve üzeri değeri itere etmek gerekiyor.

Tamam, nested loop yapiyorum diyorsun. Peki kac thread calisiyor o datanin uzerinde? 6-7 dakika boyunca CPU %100 kullaniliyor mu? En dogru algoritmayi kullandigina emin misin?

Eger en verimli algoritmayi kullandigina ve dogru paralelism yaptigina eminsen daha hizli hale getirmenin yolu datayi parcalara ayirip farkli bilgisayarlarda process etmek.

Yok tek bilgisayarda yapacagim diyorsan da C# ile C++ arasi 7 dakikadan 3 saniye altina inmen mumkun degil.

Programming Languages Benchmarks
 
Bir fps oyunu için C# ile basit bir duvar hilesi yapmıştım. Sürekli bellekteki adresleri okuyarak düşmanın etrafında farklı bir renk ile renklendiriyordum. İşlemciyi yoğun olarak kullandığı için, düşük sistemli cihazlarda takılma ve donma gibi sorunlarla karşılaşmıştım. C++ ile yazılmış farklı bir hile satın alıp testlerini gerçekleştirdim. Benim yazılım diğer yazılıma göre %50'dan fazla cpu kullanıyordu. Daha sonrasında hileyi C++ ile yazılması gerektiğini ve C# ile basit form uygulamaları yapılması gerektiğini bizzat deneyimledim :) C++ gerçekten performanslı bir dil. Algoritmada sıkıntı yok ise çok hızlı çalışıyor. Şu aralar QT Framework ile C++ bir kaç yazılım geliştiriyorum. Tavsiye ederim.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Yeni konular

Geri
Yukarı