Rehber Optimizasyon nedir, nasıl yapılır?

Merhabalar, bu rehberde bir yazılımın optimizasyon işlemi nasıl yapılır kısaca anlatmaya çalışacağım.

Öncelikle optimizasyon nedir?

Optimizasyon anlamı, bir yazılımın daha az kaynak tüketerek daha verimli çalışma işlemine denir.

Bu yazımda 3 aşama olacak;
  • Kod optimizasyonu.
  • Grafiksel optimizasyon.
  • Verisel optimizasyon.
Kod optimizasyonu;

Kod optimizasyonu, yazılımın çalışma prensibi ile alakalı bir durumdur. Bir işi mesela 70 satır ile yapıyoruz diyelim.

Ancak aynı işlemi 40 satır ile ve daha az RAM kullanımı ile yapabiliyoruz diyelim.

Işte bu işleme kod optimizasyonu denir.
Tek bu değildir tabii ki. Mülkün olduğunca gereksiz kod yazmaktan kaçınılmalı.

Yazılımda belleğe en çok kod kısmında yük bindiren 2 özellik vardır.

Birisi döngüler, diğeri ise diziler.

Ne kadar fazla döngü çalışırsa bellek o kadar fazla dolar. Doldukça program hantallaşır, kasar, donar. Bu aşamada bellek boşaltması yapmak gerekir. Belleğe müdahale edilebilen gelişmiş diller ile bu işi kolay şekilde yapabilirsiniz (C++, C# gibi).

Belleği sürekli boşaltmak yine kasmaya neden olur.

Belleği belli aralıklarla boşaltmak gerekir. Mesela 1000 işlem sonrası verileri kayıt edip ardından belleği boşaltan bir fonksiyon yazabilirsiniz.

Kısaca kod optimizasyonu bu şekilde.

Grafiksel optimizasyon;

Diyelim ki yazılım içerisinde 10 adet 50x50 resim alanı var diyelim.

Siz bu alanlara gidip 2500x2500 resim koyarsanız bu belleğe ortalama %80 oranında fazlalık bellek kullanımı yapar. Bu da mesela yazılım 10 MB RAM kullanıyor ise 18 veya daha fazla RAM kullanmasına neden olabilir.

Şimdi diyorsunuzdur. 18 MB çok az diye. Ancak uzun vadede çok büyük sorunlara neden olur bu durum.

2500x2500 resim kullanmak yerine 50x50 resim kullanırsanız bu bellek kullanımı en fazla 1 ila 2 MB artar. Bu da görsel açıdan daha hızlı bir arayüz ve kullanım deneyimi sunar.

Mümkün olduğunca alana göre resim boyutu yapınız. Daha net olsun diye yüksek resim ölçülerine gerek yok. Sonuç olarak resim render olurken 50x50 oluyor.

Evet, kısaca grafiksel optimizasyon bu kadar.

Verisel optimizasyon;

Bu sizin en çok gördüğünüz kısımdır. Çoğu gelişmiş sistem tüm verileri bir anda size göstermez. Onun yerine siz aşağıya kaydırdıkça veya tıkladıkça veri tabanı üzerinden veri çekilir.

Sürekli tüm veriyi çekerseniz hem bellek sızıntısına, hem sunucuya daha fazla yük olur, hem daha fazla kaynak tüketir.

Bunun yerine güzel bir fonksiyon yazarak kullanıcının işlemine göre verileri dinamiksel olarak getirebilirsiniz.

Bu kısım daha çok yapılan yazılım mimarisinin uyumlu olup olmaması ile alakalı. Çünkü bu tip olay yönlendirme özellikleri kök işlemlerine bağlıdır. Yazılımı ilk yazarken ileriye dönük yazmanızda çok büyük önem var.

Kısaca verisel optimizasyon bu kadar.

Umarım beğenmişsinizdir. Beğendiyseniz beğen tuşuna basabilirsiniz 🤙
 
Son düzenleme:
Geliştiriciler için yazdığım bir rehber 😏
Normal bir geliştirici zaten bunlari çok iyi bilir, Bu rehber yeni başlayan geliiştiricilere faydali sadece.

Tabii araştirmayan geliştirici bilemez gelip de "3 Yildir geliştiriyorum Eray hocamdan öğrendim." demeyin.
 
Son düzenleyen: Moderatör:

Yeni konular

Geri
Yukarı