porno escort diyarbakır iskenderun escort
7 sonuçtan 1 ile 7 arası

Konu: PHP İle Kod Performansı

  1. #1
    UYARI:
    Kullanıcıların Profil Bilgileri Misafirlere Kapatılmıştır. Görmek için KAYIT olmalısınız.~
    dυѕLєяfσяυм üує

    Standart PHP İle Kod Performansı

    Bir program yada betiğin başarısı sadece işini tam yapmasıyla ölçülmez. Gerektiği kadar zaman kullanması, sistem kaynaklarını gerektiği kadar kullanması ve verimli çalışması da işin başarılı kabul edilmesinde etkilidir. Bahsettiklerimiz çoğu zaman işin doğru yapılması kadar önemlidir.

    PHP gibi ağ tabanlı çok kullanıcılı sistemler için kullanılan programlama dillerinde bu ölçülere daha çok dikkat edilmelidir. Ağ tabanlı uygulamaların masaüstü uygulamalarından en önemli farkı aynı anda farklı yerlerden bir çok kullanıcı tarafından çalıştırılacak olmalarıdır. Bu durumda yapılan bir fazla zaman yada sistem kaynağı kullanımı daha çok etkisini gösterecektir.

    Bu yazıda PHP ile program/betik yazarken daha iyi bir performans için dikkat edilebilecek bazı ayrıntılardan bahsedeceğim.
    Yazdığınız kodları performans açısından değerlendirirken dikkat etmeniz gereken üç temel konu vardır;
    1) Kullandığınız dilin (Yazıda PHP kullanılacaktır) araçları
    2) Sistem kaynaklarının kullanımı (hafıza (memory) kullanımı, sabit diskten okuma)
    3) Veritabanı kullanımı


    Şimdi sırayla bu başlıklara değinelim.
    1) Kullandığınız dilin araçları : Programlama dilleri program yazarken kullanmanız için bir sürü fonksiyon (echo(), substr() ) ve araçlar (if,while, for) sağlarlar. Bu araçların kullanım amaçları farklı farklıdır. Aynı işi farklı araçlar kullanarak farklı yollarla yapabilirsiniz. Her farklı yolun harcadığı zaman farklıdır. Burada zamandan kastımız kodun çalıştırılırken (PHP motoru tarafından) harcadığı zamandır. İki farklı yolun ne kadar zaman harcadığını basitce basinda ve sonunda zamanı microtime() kullanarak yazdırıp görebilirsiniz. Daha ayrıntılı ve detaylı bilgiyi Benchmark (PEAR), DBG, Xdebug veya Advanced PHPDebugger kullanarak elde edebilirsiniz. Bu konumuzun biraz dışında :-) .

    Şimdi PHP araçları kullanırken dikkat edebileceğimiz ufak ayrıntıları listelemeye başlayalım.

    Aynı işi birkaç defa yapmamak : Aynı işlemi aynı sonucu verecekse tekrar yapmak zaman kaybıdır. Kod yazarken örneğin bugünün tarihi betiğin birkaç yerinde yazdırmamız gerekiyorsa hesaplamayı en başta yapıp bir değişkene atıp sonra bunu kullanmak işlem sayısını azaltacaktır.

    Karar mekanizmaları (if) gerektiği kadar kullanmak : Kara mekanizmaları normal işlemlerden (toplama,çıkarma,eşitleme gibi) daha çok zaman aldığı için çok fazla kullanmak doğru değildir. Örneğin aynı şarta bağlı işlemleri bir araya toplamanız daha doğru olacaktır.

    Döngüleri (for, while ...) doğru kullanmak : Döngüler de karar mekanizmaları gibi normal işlemlerden daha çok vakit alırlar çünkü her işlem sırasında döngü şartını kontrol ederler. Basit bir örnek vermek gerekirse 3 defa çalışacağını bildiğimiz bir döngü gereksizdir. Onun yerine direk olarak işlemi üç defa yazmamız daha doğrudur. Eğer bir döngünün kesin olarak kaç defa çalışacağını biliyorsak direk olarak işlemeleri yazmamız bize hız kazandıracaktır. Dögüleri kullanırken sık yapılan hatalardan biri de kontrol şartlarında aynı işlemi sürekli yaptırmaktır. Genel olarak döngülerde dizi (array) kullanırken döngüyü dizi sayısı kadar döndürürüz (for($i=0;$i

    Echo veya print kullanmak: PHP geliştiricileri echo 'nun print ten daha hızlı olduğunu belirtiyorlar (bakınız Kaynak 1). Sonuç yazdırken echo kullanmak daha doğru olacaktır.

    String türünde değişkenleri tek yada çift tırnak kullanmak : Tek tırnak kullandığınız zaman PHP motoru değişkeni formatsız olarak kabul eder ve hiçbir kontrol yapmaz. Yani tek tırnak kullandığınız değişkenlerde n gibi özel karakterler ve değişkenler kullanamazsınız. Tek tırnaklı string'de kontrol yapılmadığı için hızlı çalıştığından eğer başka değişken kulllanmayacaksanız ve özel karakter kullanmayacaksanız tek tırnak kullanmanız daha doğrudur.

    Dosya çağırmak (include) : Program yazarken dosya çağırmaya ihtiyaç duyduğunuzda include,require,include_once veya require_once kullanırsınız. Require ile include fonksiyonlarinin tek farkı dosya bulunumayınca include uyarı require hata verir. '_once' li fonksiyonlar ise dosyanin daha once çağırılıp çağırılmadığını kontrol eder. Çağrılmışsa yeniden çağırmaz. Eğer bir dosyayı birden fazla çağırma ihtimali yoksa '_once' olmayan fonksiyonları kullanmanız daha doğrudur.

    2)Sistem kaynaklarının kullanımı (hafıza (memory) kullanımı, sabit diskten okuma) : Bütün programlamlar çalışırken kullandığınız değişkenleri hafızada tutar. Hafızayı mümkün olduğu kadar az kullanmak için gereksiz değişkenler kullanılmamalıdır.

    Bir başka dikkat edilmesi gereken konu ise dosya okuma işlemleridir. Dosya okumanız gerektiğinde fscanf gibi paramatre alan fonksiyonların yerine dosyayı satır satır okuyup PHP string parçalama fonksiyonlarını kullanmanız daha doğrudur.

    Dosya okuma işi sırasında dikkat edilmesi gereken başka bir konu ise dosyaların okuma işlemi bittikten sonra kapatılmasıdır (fclose() ).

    3)Veritabanı kullanımı : Veritabanı kullanan uygulamalar yaparken yaptığınız bağlantı ve sorgu sayısı uygulamanın hızını doğrudan etkiler. Dikkat edilmesi gereken noktaları şöyle sıralayabiliriz.

    Bağlantı : Gerektiğinde veritabanına bağlanılmalı ve işlem bittikten sonra bağlantı kapatılmalıdır.

    Tasarım : Uygulamanız için veritabanı oluştururken yapacağınız tasarım hataları uygulamınızın hızını etkiler. (Bu konu başlı başına bir makale konusu olabileceğinden ve bu makalenin konu sınırını aşacağından burda biraz kısa anlatılacaktır.).

    Tablo oluştururken alanların birbirinden bağımsız olamsına dikkat edilmelidir (normalization). Yani eğer bir tablonun bir özelliği başka bir özellik kullanırak bulunabiliyorsa yani bağımlı ise bu özelliği alan olarak tabloda belirtmeye gerek yoktur.
    Aynı özellikte bilgiler için tek tablo oluşturulmalıdır.

    Sorgu: Sorgu cümlesi iyi oluşturulmalı ve istenilen sonuçların her zaman doğru olarak döndürüldüğü kontrol edilmelidir.

    Veritabanının kolayca yaptığı (count,rand,limit,date,order vb) işlemler veritabanına yaptırılmalıdır. Sorgu sayısı mümkün olduğu kadar azaltılmalıdır. Bunun için sorgu işlemleri farklı modüllere bölünebilir.
    Sorguda sadece gerekli alanlar çekilmelidir ve 'select *' kullanımından kaçınılmalıdır.

    Veritabanına veri girişi yaparken yapılan kontrolleri mümkün olduğu kadar veri tabanına yapmasını sağlamak. Veri tutarlığını çok özel durumlar olmadığı sürece veritabanı araçlarıyla sağlamak (trigger). Veritabanları bu işlemleri yapmak için tasarlandığı için sizin yazacağınız programlardan çok daha hızlı ve kolayca bu işlemleri hallederler. Unutmayalımki veritabanları sadece veri depolamak için değil veriyi kolay işlemek için kullanılmak içindir.

  2. #2
    UYARI:
    Kullanıcıların Profil Bilgileri Misafirlere Kapatılmıştır. Görmek için KAYIT olmalısınız.~
    dυѕLєяfσяυм üує

    Standart

    Saol bilgin icin!
    Y AM I FIGHTIN 2 LIVE IF I AM LIVIN 2 DIE!!!

  3. #3
    UYARI:
    Kullanıcıların Profil Bilgileri Misafirlere Kapatılmıştır. Görmek için KAYIT olmalısınız.~
    BANLI UYE!

    Standart

    paylaşım için tşk!

  4. #4
    UYARI:
    Kullanıcıların Profil Bilgileri Misafirlere Kapatılmıştır. Görmek için KAYIT olmalısınız.~
    dυѕLєяfσяυм üує

    Standart

    paylaşım için thx.
    *************
    ************
    ***********
    **********
    *********
    ********
    *******
    ******
    *****
    ****
    ***
    **
    *
    WwW.DuSLeRFoRUM.CoM BURASI FARKI FARK EDENLERİN DİYARI

    İsim = ___FiRiX___

    Clan = JustMylove

    Np = var bişiler xD

    Irk = Karus

    Jop = Rogue

    İtemS = War ßişiler işte xD

  5. #5
    UYARI:
    Kullanıcıların Profil Bilgileri Misafirlere Kapatılmıştır. Görmek için KAYIT olmalısınız.~
    dυѕLєяfσяυм üує

    Standart

    Paylasımın İçin Teşşekkürler
    <========== FoRéVéR HayKo

    29 Şubat 2008 - Hayko Cepkin @ Ankara Koneri

    28 Şubat 2008 - Hayko Cepkin @ Eskişehir

    22 Şubat 2008 - Hayko Cepkin @ İzmit

  6. #6
    UYARI:
    Kullanıcıların Profil Bilgileri Misafirlere Kapatılmıştır. Görmek için KAYIT olmalısınız.~
    dυѕLєяfσяυм üує

    Standart

    Payla$ım IcıN T3$3K&#220;RL3R
    __BaskaLarından deiL Benı Benden Öqrenin.!!__





    [Ќąяşıчąкą]




    Aşık olmayanlar, mükemmel bir erkeğin sıradan bir kadın yüzünden niçin ızdırap çektiğini anlayamazlar ..

  7. #7
    UYARI:
    Kullanıcıların Profil Bilgileri Misafirlere Kapatılmıştır. Görmek için KAYIT olmalısınız.~
    BANLI UYE!

    Standart

    Tê$êkKuRLêR

Sistem Bilgileri

Bu sistem vBulletin® alt yapısına sahiptir!
Telif hakları, Jelsoft Enterprises Ltd'e aittir. Copyright © 2024

Uyarı

5651 Sayılı Kanun'un 4.cü maddesine göre üyeler yaptıkları paylaşımlardan sorumludur. Yer sağlayıcı olarak hizmet veren sitemiz hakkında yapılacak tüm hukuksal Şikayetler ile ilgili iletişime geçilmesi halinde size dönüş yapacaktır.

gaziantep escort bayan gaziantep escort deneme bonusu veren siteler bahissitelerivip.com deneme bonusu deneme bonusu veren siteler deneme bonusu veren siteler mjsanaokulu.com Maltepe Escort deneme bonusu deneme bonusu veren siteler maltepe escort kartal escort ataşehir escort pendik escort ankara escort sincan escort eryaman escort bayan ankara escort ankara escort bayan escort ankara ankara escort eryaman escort ankara escort çankaya escort ankara otele gelen escort eryaman escort adana escort eryaman escort Antalya Seo tesbih yetişkin sohbet kameralı sohbet aresbet casino siteleri Grandpashabet moldebet efesbet efesbet giriş getirbet efesbet deneme bonusu deneme bonusu veren siteler 2021 grandpashabet bahis siteleri bahis siteleri bonus veren siteler bahis siteleri canlı casino siteleri deneme bonusu En güvenilir bahis siteleri ankara olgun escort mimarsinanokullari.com