Alıntı (zekeriyadurmus):
> case NUMBER, p.calc: diyor ya bunu sadece 1 yerde 1 kere tanımlama gibi bir şansımız var mı?
Anladığım kadarıyla o satırın eşdeğeri 'if'(t2.type) 'break'; olsa gerek. Bunun dışında bütün if() {...} kümesini birlikte değerlendirmeyi başarabilecek zamanı bulabilirsem, sanırım bazı sadeleştirmeler mümkün görünüyor.
Alıntı (zekeriyadurmus):
> calcItS fonksiyonunu calcIt içerisinde tanımlasam performans olarak birşey fark eder mi?
Bence de öyle yapmalısın çünkü sadece o işlev içinde kullanıldığına ve calcItS() sadeleştireceğimizden, çok yakında harika bir caclt() işlevi çıkması olası görünüyor...:)
Alıntı (zekeriyadurmus):
> calc struct ı içerisindeki string op u string yerine enum yapsam daha mı performanslı olur?
Gördüğüm kadarıyla ona şu yapıdaki value dizgesi ulaştırılıyor:
struct Token{
ulong line;
lx typ;
string value;
void* val;
}
Eğer bu dizgelerin amacı sadece Token'ların kimliğini tanımlamak ise bunun daha basit yollar mevcut. Hazır enum'ları daha yetenekli bir şekilde kullanmayı öğrenmişken bence 1 byte yer kaplayabilecek bir değer daha mantıklı görünüyor. Ancak ben enum'ları hala araştırıyorum ve kendilerine pek güvenmiyorum! Sanki enum'ları alfasayısal karşılıkları bellekte yer kaplamakta. Yani sanıldığı gibi türün sayısal karşlığını yazdığınız yere yerleştirmiyor. Assembly kodlarından bakmak lazım...
Alıntı (zekeriyadurmus):
> kodlar arasında gereksiz bir işlem, sistemi yavaşlatabilecek bir kod var mı?
Çooookk...:)
Ama bu sözüm seni kırmasın çünkü gayet iyi gidiyorsun. Bence optimization olayını biraz daha erteleyebiliriz. Tamam, hız önemli ama daha önemlisi kodun doğru çalışması. Kod doğru çalıştı dediğimiz anda, öncekinin verdiği sonuçları referans alarak kodu öyle bir hale getireceğiz ki inşaallah hızlanacak. Övünmek gibi olmasın; kodları sadeleştirme konusunda yetenekli sayılırım. Belki de daha çok bir şeyleri kısatlmak, basit haliyle yazmak (basit derken hızlandıracak manada!) bana zevk veriyor. Elimde olmadan bir bakmışım her yerden kırpmışım. O yüzden en iyileştirme konsunda çok aceleci davranmayalım. Kod olabildiğince gevşek olabilir. Ama işlevleri daha uzun isimler ile adlandırırsan anlamamız kolay olacak.
Son söylediğine bakacağız, istersen hata vermeyen şekilde kullanmaya devam edelim...
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]