Performans Analizi Nedir?

Bazen profilleme olarak adlandırılan, yazılım mühendisliği ile ilgili performans analizi, sadece belirli bir yazılım programının nasıl çalıştığını değerlendirme sürecidir. Bu işlem normal olarak programın nasıl yüklendiğiyle ve programı kullanmadaki her adım uygulandığında ne olduğuyla başlar. Performans analizinin amacı, yazılım programının optimum verimlilikte çalışmasını sağlamak ve bu verimliliği olumsuz yönde etkileyebilecek sorunları tanımlamak ve düzeltmektir.

Performans analizi ayrıca, mühendisin, programın mevcut kaynakları en iyi şekilde kullanmasına yardımcı olacak şekilde ayarlama yapmasına yardımcı olur. Gerçek zamanlı uygulamaları değerlendirerek, bir görevi hızlandıracak bir şey yapılıp yapılmayacağını belirlemek veya yazılımın genel işlevini olumsuz etkilemeden görevi çalıştırmak için gereken bellek miktarını değiştirmek mümkündür. Nihai hedef, sorunsuz ve hızlı bir şekilde çalışan ve herhangi bir görevin başlatıldığı her zaman çalışan bir programdır.

Performans analizi, bir tür dinamik program analizi veya DPA'dır. DPA, kaynakların nasıl kullanıldığı ve hangi sırayla kullanılacağı da dahil olmak üzere bir program aktif olarak çalışırken neler olduğuna odaklanır. Bu, kodun nasıl yazıldığına ve komutların art arda ne kadar mantıklı olacağına daha fazla odaklanma eğiliminde olan statik kod analizinden farklıdır. Bununla birlikte, her iki analiz türü de yazılım ve yazılım işlevselliğini değerlendirmek ve rafine etmek için ortak unsurlardır.

Program analizinin tarihi, en eski hesaplama yıllarına dayanır. 1940'lı yılların ilk “elektronik beyinleri” nin gelişimi sırasında, belirli bir sistemin gerçekleştirebileceği her işlevin etkinliğini test etmek için çeşitli yöntemler ortaya kondu. Teknoloji ilerlemeye devam ettikçe, çeşitli sistemlerde çalışan yazılımın performans seviyesini değerlendirmek için kullanılan metodoloji rafine edilmiş ve bir şekilde standartlaştırılmıştır. Bugün, sistem mimarları ve yazılım program yazarları, programın belirli bir sürümünde bulunan güçlü ve zayıf yönleri belirlemek için program analizinden yararlanır ve her türlü sorun için düzeltmeler oluşturur. Performans analizi ile toplanan veriler, aynı sorunların programın sonraki sürümlerinde görünmesini önlemeye yardımcı olur.

Gerçek performans analizi süreci, bir programın aktif çalışması sırasında manuel olarak gözden geçirme ile yapılabilir veya otomatik bir profilleyici kullanarak veri derlenerek otomatik olarak tamamlanabilir. Her iki durumda da, programın belirli bir sistemde veya ağda en yüksek verimle çalışması için ne yapılması gerektiğini belirlemesi için hem yazılım yazarı hem de sistem mimarı belirleyen bilgiler toplanır. Performans analizi, bir kez gerçekleştirilen ve daha sonra yapıldığı düşünülen bir görev değildir. Sistem yöneticilerinin sürekli olarak performans analizi yapmaları alışılmadık bir durum değildir, çünkü donanım değişikliklerinin yanı sıra diğer programlara yapılan güncellemeler de analizden geçen programın verimliliğini etkileyebilir.