Cześć, mam takie pytanie: czy wyłuskanie zmiennej ze wskaźnika do zmiennej składowej klasy i w ogóle operacje na nim narażone jest na jakieś dodatkowe narzuty względem wskaźnika do zwykłej zmiennej?
Pytam, bo przeczytałem, że w przypadku wskaźników do zmiennych składowych klasy system musi obliczyć sobie ten adres w stosunku do początku obiektu...
Jak to ma się w praktyce?
Jak to ma się w praktyce?
Są kompilatory i kompilatory.
Napisz sobie test i zmierz czasy - tylko pamiętaj by testować przy włączonej optymalizacji.
Azarien napisał(a):
Jak to ma się w praktyce?
Są kompilatory i kompilatory.
Napisz sobie test i zmierz czasy - tylko pamiętaj by testować przy włączonej optymalizacji.
Tak też zrobiłem i wyszło, że jest drobny narzut => odwoływanie się do wskaźnika do pola klasy jest około 2 razy wolniejsze.
Chociaż jednak nie, ta różnica w czasie wynika raczej z czegoś innego (z moich urozmaiceń ;D)
Wnioski są takie, że jak w klasie jest dużo zmiennych to odwoływanie się do tej jednej konkretnej jest czasochłonne (może trwać nawet kilkadziesiąt razy dłużej). Natomiast gdy w klasie jest tylko jedna zmienna do której się odwołujemy to różnicy w czasie brak.