SORU
29 NİSAN 2011, Cuma


'in PHP count(), O(1) veya O(n) dizileri için?

eğer PHP count() gerçekten PHP-dizi, tüm unsurları sayar ise bu değer önbelleğe bir yerde olduğunu ve sadece alınır mı?

Doktorlar bu kadar çok ve çeşitli blog yazıları hakkında söyleme sayısı performansını ölçmek() bu konuda konuşmayacaksın.

(Başlık için özür dilerim tam olarak nasıl tarif edeceğimi bilemedim.)

CEVAP
29 NİSAN 2011, Cuma


Peki, kaynak incelenebilir;

/ext/standard/array.c

PHP_FUNCTION(count) teslim olmayan özyinelemeli bu şekilde uygulanan bir dizi: zend_hash_num_elements() aramalar php_count_recursive() çağırır

ZEND_API int zend_hash_num_elements(const HashTable *ht)
{
    IS_CONSISTENT(ht);

    return ht->nNumOfElements;
}

Gördüğünüz gibi, O(1) $mode = COUNT_NORMAL için.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HTC Tutorials

    HTC Tutorial

    21 EYLÜL 2010
  • iMasterful

    iMasterful

    11 EYLÜL 2009
  • SVB International

    SVB Internat

    29 EKİM 2011