Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

11.02.2008, 22:25

MS CodeAnalyst ne Macke oder was?

// 8,13 ms

C-/C++-Quelltext

1
2
3
4
5
6
void show(int cmd) 
{ 
    const std::size_t size(m_windows.size());
    for (std::size_t i(0); i < size; ++i) 
        m_windows[i]->show(cmd);
}
soll um 6 ms langsamer sein, als


// 2,86 ms

C-/C++-Quelltext

1
2
3
4
void show(int cmd) 
{ 
    std::for_each(m_windows.begin(), m_windows.end(), std::bind2nd(std::mem_fun(&Window::show), cmd));
}
. Oder wie mist der CodeAnalyst? Soweit ich das verstanden habe, wird doch die durchschnittlich gebrauchte Zeit genommen, oder?

Ich mein die Optimierung ist in dem fall lächerlich, aber dennoch wundert es mich :shock:
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

12.02.2008, 09:37

Was passiert, wenn du statt dem Indexzugriff per begin und end durchgehst? Was behauptet er dann?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

3

12.02.2008, 14:47

Naja teste ich gleich mal, aber operator [] sollte doch eigentlich am schnellsten sein, da da keine Bereichsüberprüfungen stattfinden usw.?!
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

12.02.2008, 14:54

Was ist überhaupt MS CodeAnalyst?
Ich kenne das nur von AMD ... ;)

5

12.02.2008, 14:59

Hmm ... naja den von AMD kenn ich auch ;) Gibt es auch von Microsoft. Ist aber nicht bei der Express und Standard-Version dabei ;)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

6

12.02.2008, 15:50

Ich habe die Erfahrung gemacht, dass indizierter Zugriff langsamer ist als Zeigerzugriff ...
Mein Projekt: Rise of the Sylvan

7

12.02.2008, 16:29

Zitat von »"Crash"«

Ich habe die Erfahrung gemacht, dass indizierter Zugriff langsamer ist als Zeigerzugriff ...

Naja, bei nem indizierten Zugriff muss doch vom "Stammpointer" erst die richtige Adresse ermittelt werden, durch Multiplikation von Index und Objektgröße. Daher hat man dabei eine Multiplikation und eine Addition, beim direkten Pointerzugriff fällt das weg.
Lieber dumm fragen, als dumm bleiben!

Werbeanzeige