Hallo Zusammen
Ich versuche nun seit Wochen herauszufinden, wieso der selbe Code einer "Monolith"-Software in XE5 kompiliert einfriert und im alten Kompilat (D2007) nicht.
Ich habe mit Hilfe von AQTime herausgefunden, wo in etwa die meiste CPU-Zeit gebraucht wird. Ich konnte somit feststellen, dass grob die CPU-Auslastung in beiden Kompialte etwa die selbe ist.
Jedoch finde ich nicht heraus, wieso in XE5 das Programm bei hoher Last einfriert, wohingegen beim alten Kompilat dies nicht passiert.
Wie geht man hier vor um diesen "Flaschenhals" in XE5 zu finden und zu eruieren.
Ich würde gerne ein Code-Beispiel mitsenden, jedoch kann die Applikation beinahe nicht mehr auseinander nehmen, so dass ich nur dieses Feature hier posten könnte.
Dieses Feature beinhaltet eine array von Pointer (Pointer auf ein Record), eine TList von Forms, mehrere TTcpClient und ein TTCPServer (mit SendText und ReceiveText, ich habe dies bereits mit SendBuf und ReceiveBuf ersetzt) und 2 linked listd (als zusammen gehängte Records).
Sobald der TTCPServer intensiv Daten senden, friert die Applikation, wo der client läuft ein.
Hat da jemand Erfahrung im Eruieren solcher Fälle??
Danke