Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Iteratoren langsam? Vorteile?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
31.10.2006, 17:25 Uhr
~derMond
Gast


Hallo,

ich habe ein Programm dass ich profile.
Ich bemerke dass nahezu 80% meiner Zeit auf iteratoren drauf gehen.
Jetzt würde ich gerne wissen ob iteratoren aus der stl von haus aus etwas langsamer sind und wenn ja - warum?

Das würde bedeuten bei statischen konstrukten immer mit array und festen grössen zu arbeiten um möglichst shcnell zu bleiben - stimmt das?

Worin liegen denn dann die vorteile in iteratoren? Dass sie nicht über die array-grenzen hinaus schießen?

Danke euch
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
31.10.2006, 19:57 Uhr
stephanw
localhorst


Wenn 80 % der Zeit in Iteratoren stecken, heißt das nicht unbedingt, dass diese langsam sind. Es gibt noch ein paar andere Möglichkeiten:
- es wird nicht der für den gewählten Algorithmus optimale Container verwendet (z.B. list oder map da, wo ein vector besser wäre)
- es wird nicht der optimale Algorithmus benutzt (z.B. Ablegen und Suchen von Strings in vector statt einer map oder einer hash-table
- es wird aus Versehen sinnlos (weiter-) iteriert
- es wird viel im Freispeicher rumgesucht statt auf dem Stack (falls möglich)

Kannst Du das alles ausschließen ?

Zu Deinem Beispiel: ein Vector-Iterator etwa ist im Grunde ja auch nur ein nativer Pointer und ist daher auch genauso schnell. Evtl. ist ein Vector langsamer, wenn dieser seinen Speicher statt auf dem Stack eben auf dem Heap allokiert. Ob das so ist und ob man es vermeiden kann, weiß ich grad nicht und will ich auch nicht nachsehen, sonst schaff ich Ronin im Fernsehen nicht mehr ;-)
--
Reden ist Schweigen und Silber ist Gold.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: