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

  • 2ndfloor91

    2ndfloor91

    17 Kasım 2007
  • FILIPeeeK

    FILIPeeeK

    22 Mayıs 2006
  • Hot For Nutrition

    Hot For Nutr

    26 ŞUBAT 2007