SORU
24 AĞUSTOS 2008, Pazar


Ben ve C arasında performans farkı var mı ?

C dili hakkında this question ile ilgili.

C cevap ne ?

CEVAP
24 AĞUSTOS 2008, Pazar


[Yönetici Özeti: i .] kullanmak için özel bir nedeniniz yok ise. i

C için cevap biraz daha karmaşık.

i basit bir türü (C sınıfının bir örneği) ise, then the answer given for C ("No there is no performance difference") holds beri derleyici kodu üretiyor.

*Eğer 4* C sınıfının bir örneği ise, o zaman i i operator işlevleri için çağrılar yapıyoruz. İşte bu fonksiyonların standart bir çift:

Foo& Foo::operator  ()   // called for   i
{
    this->data  = 1;
    return *this;
}

Foo Foo::operator  (int ignored_dummy_value)   // called for i  
{
    Foo tmp(*this);   // variable "tmp" cannot be optimized away by the compiler
      (*this);
    return tmp;
}

Derleyici kodu üreten, ama sadece operator bir işlevi çağıran olmadığına göre, tmp değişken ve ilişkili kopyalama kurucusu optimize yürüme yolu yok. Eğer kopya kurucu pahalı ise, o zaman bu önemli bir performans etkisi olabilir.

(C arasındaki fark hakkında bilgi almak için Paul sayesinde ve C .)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Doc Adams

    Doc Adams

    20 HAZİRAN 2007
  • DominicFear

    DominicFear

    30 Kasım 2006
  • Noam Erez

    Noam Erez

    3 NİSAN 2012