Parıltı ve sefalet OOP - sayfa 4

 
Integer :

... programın işleyişini değiştirmek için if veya anahtar çağrıları olmadığından, bu işin çok hızlı çalışması gerektiği ima edilir, başlatma sırasında yalnızca bir kez istenen sınıf seçildi - bir soyundan, o zaman her şey düz ve basit çalışır.

...

MetaSürücü :

...

"Gerçek" işaretçilere sahip dillerde, böyle bir etki olmayacak, anahtar orada kaybedecek - ne kadar fazlaysa, seçenekler listesi o kadar büyük olur.

...

Çocuklar, anahtar belgelerini tüttürün . İyi bir anahtar, performansı seçim sayısından bağımsız olan anahtarlanmış bir geçiştir. Seçenek 1, 100 veya 1000 - geçiş hızı sabit olacaktır.
Как работает оператор switch в Си/Си++ - CyberForum.ru - форум программистов и сисадминов
  • Evg
  • www.cyberforum.ru
ВНИМАНИЕ! Вопросы по существу обсуждаемого вопроса просьба задавать здесь или создать тему на форуме и кинуть на неё ссылку в блог или мне в личку. Причин для этого несколько. Я, как и любой другой автор, всегда могу упустить интересный момент обсуждаемой темы (что подтвердилось на практике). А потому задаваемый вопрос может закрывать...
 
Integer :
Derleme mekanizmalarını neden anlamalıyım? Sadece kötü bir sonucun iyi bir sonuçtan daha iyi olduğuna inanmak için mi? Sonuç önemli.

Garip açıklama. Derleyici seviyesinde optimizasyon problemlerini çözmeye çalışıyorsunuz ve aynı zamanda nasıl çalıştığını bilmiyorsunuz.

 
C-4 :
Beyler, anahtar belgelerini tüttürün . İyi bir anahtar, performansı seçim sayısından bağımsız olan anahtarlanmış bir geçiştir. Seçenek 1, 100 veya 1000 - geçiş hızı sabit olacaktır.
Evet, örneklerde olduğu gibi yeterli eleman varsa doğrudan tablo atlamalı bir anahtarımız var.
 

Programlamada sıfıra yakınım ve OOP'nin hızdan çok kolaylık sağlamak için yapıldığını biliyorum. Gerçekten de, nasıl kullanılacağını biliyorsanız, OOP kullanışlı bir şeydir.

Meta alıntıların test cihazında yanlış bir yayılmaya zaman ayırması daha iyidir. Onları yeterince test etmek imkansızsa, bunun üzerine uzmanlar yazmanın bir anlamı yoktur. Çoğunlukla, bu FORTS'ta ticaret yapmak için geçerlidir.

 
dimeon :

Programlamada sıfıra yakınım ve OOP'nin hızdan çok kolaylık sağlamak için yapıldığını biliyorum. Gerçekten de, nasıl kullanılacağını biliyorsanız, OOP kullanışlı bir şeydir.

Meta alıntıların test cihazında yanlış bir yayılmaya zaman ayırması daha iyidir. Onları yeterince test etmek imkansızsa, bunun üzerine uzmanlar yazmanın bir anlamı yoktur. Çoğunlukla bu, FORTS'ta ticaret yapmak için geçerlidir.

Daha ayrıntılı bir açıklama (kanıt) zaten bir yerde verildi mi?

Burada ifadelerinizi kanıtlarla desteklemek gelenekseldir, aksi takdirde onlara bile bakarlar. ;)

 

Genel olarak, konu başlatıcı örneği satır içi olduğunu gösterir. Onsuz, hata ayıklama modunda sonuçlar değiştirilir ve OOP daha hızlı çalışır:

Bu resim bize yoldaşların karanlık bir odada kara bir kedi aramakla meşgul olduklarını ima ediyor.

 
Renat :

...

Ancak sanal yöntem kesilemez - her zaman çağrılır. Sonuç olarak, bir durumda döngü basitçe dönüyor ve diğerinde çağrı döngüde.

...

Bu arada, boş döngüler de silinebilir. kod:

 void OnStart (){
   for ( int i = 0 ; i < 1000000 ; i++)
      foo();
}

void foo( void ){}

Basite indirgenebilir:

 void OnStart (){
   ;
}
 
Vinin :

Kanıt diğer tarafta olacak. Ya da yine, sadece kelimeler.

Genel olarak, yalnızca gerçekler ilgi çekicidir.

OOP'nin daha yavaş olduğunu zaten bilmeme rağmen, çok özel kolaylıklar sağlıyor.

Pazartesi günü, gerçek bir OOP projesinin profilini çıkarma örneğini kullanarak, limitteki performansının sistem fonksiyon çağrılarının performansına eğilimli olduğunu göstereceğim.
 
C-4 :

Garip açıklama. Derleyici seviyesindeki optimizasyon problemlerini çözmeye çalışıyorsunuz ve aynı zamanda nasıl çalıştığını bilmiyorsunuz.

Üzgünüm, bir şeyi karıştırdın, derleyiciyi optimize etmeye çalışmadım. Ne yaptığımı anlamadıysanız, bu konuyu en baştan yeniden okumaya çalışın, ancak daha dikkatli bir şekilde ve tekrar, konudan zeki olmamaya çalışın.
 
Renat :
Evet, örneklerde olduğu gibi yeterli eleman varsa doğrudan tablo atlamalı bir anahtarımız var.

Sadece orada, örneklerde, anahtar değerler tek bir adımla gittiğinde en basit seçenek alınır, bu nedenle ofset basitçe hesaplanır. Ama diyelim ki şöyle bir şeyimiz var:

case 10 : ...

case 100 : ... case 1000 : ... case 1000000 : ...

Burada anladığım kadarıyla dizin ikili arama yoluyla belirlenir. Bu yöntemlerin her ikisine de sahip misiniz?