AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Programmentwicklung, Laufzeit wird zu lange ...
Thema durchsuchen
Ansicht
Themen-Optionen

Programmentwicklung, Laufzeit wird zu lange ...

Ein Thema von bernhard_LA · begonnen am 10. Feb 2014 · letzter Beitrag vom 17. Feb 2014
Antwort Antwort
Seite 1 von 2  1 2      
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#1

Programmentwicklung, Laufzeit wird zu lange ...

  Alt 10. Feb 2014, 08:54
Ich habe aktuell ein Entwicklungsprojekt bei dem ich 2 Stunden warten muss vom ersten "START Programm" bis zum "Buttonklick" an dem eine Codeänderung vorgenommen haben.
Um die Weiterentwicklung effizient zu gestalten habe ich verschiedene Testdaten mit denen ich die 2 Stunden Wartezeit auf 5 min. reduziere. Allerdings kann ich hier nur bedingt die Änderungen beurteilen.

Wie kann ich hier effizient weiterentwickeln ???
  Mit Zitat antworten Zitat
Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#2

AW: Programmentwicklung, Laufzeit wird zu lange ...

  Alt 10. Feb 2014, 09:17
Den Status des Systems kurz vor dem entscheidenden Punkt "einfrieren" (abspeichern)?

Für den Test müsste dann der Status jeweils abgerufen werden, so dass das System ab dem Punkt wiederholt weiterlaufen kann.

Je nach Komplexität kann so etwas natürlich beliebig aufwendig werden...
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Programmentwicklung, Laufzeit wird zu lange ...

  Alt 10. Feb 2014, 09:47
Was ist denn der Grund für die Wartezeit? Aufwendige Berechnungen?

Ohne zumindest in groben Zügen zu wissen was da abläuft, vor allem um welche Datenmengen es geht, was mit den Daten vor dem Buttonklick passieren muss, usw. kann dir niemand einen gezielten Rat geben.

Aber das ist dir ja sicher auch selbst klar. Und für detailliertere Vorschläge fehlen auch detailliertere Informationen. Wenn du öffentlich nicht mehr Details schreiben möchtest, kannst du mir auch gerne per PN etwas schreiben.

Meine Idee wäre, wenn das bei deinem Projekt machbar ist, das was bei dem Buttonklick passiert in eine DLL auszulagern. Die könntest du dann zum Debuggen einfach mit LoadLibrary auf Anforderung mit einem Button laden, dich mit dem Debugger verbinden, debuggen und dann die Verbindung wieder trennen und die DLL wieder entladen. Dann kannst du die wieder ändern und das ganze von vorne machen.
Du darfst nur nie das Programm aus Delphi heraus hart stoppen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Programmentwicklung, Laufzeit wird zu lange ...

  Alt 10. Feb 2014, 10:18
Über die Funktion kann ich leider keine Angaben machen, Danke für die Angebote.
( die Wartezeit ist absolut im Bereich der Erwartungen, die Probleme sind in der Komplexität N*N und wir planen noch größere N als diese 2 h )


DLL : hatte ich auch auf meinem Lösungsradar -> kann ich von einem beliebigen Programm auf eine DLL die von einem ersten Programm gestartet wurde incl. der berechneten Daten zugreifen ???


TCP/IP : Entwicklung einer C/S Funktionalität , ich wollte die Lösung einfacher gestalten

SHARED MEMORY : gibt es so etwas noch ????
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Programmentwicklung, Laufzeit wird zu lange ...

  Alt 10. Feb 2014, 11:26
SHARED MEMORY : gibt es so etwas noch ????
Klar aber man sollte es meiden wie der Vampir den Knoblauch
Aktuell ist Functional Programming angesagt um Code möglich nebenwirkungsfrei in mehreren Threads laufen zu lassen.

Ich halte DLLs für keine gute Idee um an der Laufzeit irgendetwas zu verbessern.
Im Gegenteil würde das Splitten von Code in DLL(s) und Anwendung die Entwicklung nur noch mehr verlangsamen.
fork me on Github
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: Programmentwicklung, Laufzeit wird zu lange ...

  Alt 10. Feb 2014, 11:31
Ich würde versuchen, den Code so zu bauen, dass ich so viele Tests wie möglich über Unittests abdecken kann. Und so die 2-Stunden-Tests auf ein Minimum reduzieren.
Jens
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Programmentwicklung, Laufzeit wird zu lange ...

  Alt 10. Feb 2014, 12:02
DLL : hatte ich auch auf meinem Lösungsradar -> kann ich von einem beliebigen Programm auf eine DLL die von einem ersten Programm gestartet wurde incl. der berechneten Daten zugreifen ???
Nein, ich meinte das umgekehrt. Dein Programm läuft dauerhaft und hat die Daten. Dann lädt es auf Anforderung die DLL mit den von dir zu debuggenden bzw. optimierenden Funktionen, du verbindest dich aus Delphi heraus mit dem Debugger (wenn du debuggen willst, sonst reicht ja laden der DLL) und startest die Funktion.

Voraussetzung ist natürlich, dass du verhältnismäßig einfach an die Daten herankommst, die du dazu brauchst, sei es per Speicherbereich, Interface oder Callback-Funktion.

Und wenn du die DLL danach wieder entlädst, kannst du sie ändern und danach wieder laden und testen.

SHARED MEMORY : gibt es so etwas noch ????
Als MMF würde ich das wenn umsetzen. Das klappt gut und du kannst von mehreren Prozessen darauf zugreifen.

Ich halte DLLs für keine gute Idee um an der Laufzeit irgendetwas zu verbessern.
Im Gegenteil würde das Splitten von Code in DLL(s) und Anwendung die Entwicklung nur noch mehr verlangsamen.
Darum ging es auch nicht. Es ging mir rein um eine Möglichkeit ohne die Startzeit zu debuggen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
grl

Registriert seit: 5. Feb 2007
174 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Programmentwicklung, Laufzeit wird zu lange ...

  Alt 10. Feb 2014, 12:21
Ich habe in einer meiner Applikationen ein ähnliches Problem: Zuerst werden Daten von einem Gerät aufgezeichnet und dann wird dran rumgerechnet.

Ich habe mir ins Programm eine Möglichkeit eingebaut, den Datenspeicher wegzuschreiben und wieder zu laden - so kann ich eine einmal gemachte Aufzeichnung, an der auch schon Teile berechnet sind wieder laden und das Programm dann daran Weiterarbeiten lassen.

Das Ganze lässt sich via $IFDEF ein- und ausschalten, damit im Echtbetrieb nix passieren kann...


Gruß
GRL
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Programmentwicklung, Laufzeit wird zu lange ...

  Alt 10. Feb 2014, 14:41
Das Ganze lässt sich via $IFDEF ein- und ausschalten, damit im Echtbetrieb nix passieren kann...
So etwas nutze ich auch. Damit solcher Code nie durch einen Unfall im Livebetrieb läuft, frage ich zusätzlich eine Umgebungsvariable ab, die auf dem Entwicklungs-PC gesetzt ist.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Programmentwicklung, Laufzeit wird zu lange ...

  Alt 10. Feb 2014, 17:43
das Thema "Dateien nach der Berechnung irgendwo und irgendwie" zwischen zu lagern wäre eine Lösung nur leider sehr statisch ...


Ich bin am experimentieren mit dem Knoblauch
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz