Da man das genauer wissen will amcht man dann auch nen Test und was sieht man, PB ist wesentlich schnelelr als C++ zumindest was das durchiterieren von listen angeht. Jetz kann man zwar sagen da ich hier erst seit 4 Tagen C++ lerne Code ich was falsch, Ok aber naja zeigt mir ne STL Lösung in C++ die PBs eingebaute Listen schlägt...
Achjah die Größenverhältnisse sehen auch sehr gut für Pb aus 7,50 KB zu 465 KB. (bei unserem Compiler auf der Optimierstufe 3 (G++)).
Achja kann mir jemand sagen wie man Str() in C++ macht???(mit den STL Strings)
C++
Code: Alles auswählen
#include <list>
#include <iostream>
#include <time.h>
#include <string>
using namespace std;
struct MyStruct{
char myByte;
long int myLong;
short int myWord;
string myString;
};
typedef list<MyStruct>::iterator LI;
int main(int argc, char *argv[])
{
int Start=clock();
list<MyStruct> myList;
MyStruct naechster;
for(int i=1;i<=999999;i++){
naechster.myString="Test";
myList.push_back(naechster);
};
naechster.myString="Test!";
myList.push_back(naechster);
for(LI i=myList.begin();i!=myList.end();++i){
if((*i).myString=="Test!"){
cout << clock()-Start<< " Millisekunden";
cin >>Start;
};
};
return EXIT_SUCCESS;
}
Code: Alles auswählen
Start=ElapsedMilliseconds()
Structure Teest
String.s
Byte.b
Long.l
Word.w
EndStructure
NewList List.Teest()
OpenConsole()
For i = 1 To 999999
AddElement(List())
List()\String="Test"
Next
AddElement(List())
List()\String="Test!"
ForEach List()
If List()\STRing="Test!"
Print(Str(ElapsedMilliseconds()-Start)+" Millisekunden")
Input()
EndIf
Next