 |
AutoHotkey Community Wir helfen uns gegenseitig aus der Patsche
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
msgbox
Anmeldedatum: 05.05.2007 Beiträge: 727 Wohnort: C:\
|
Verfasst am: So Aug 19, 2007 6:18 pm Titel: |
|
|
Ich glaube ich muss gleich wieder einen [Threadsplit] erstellen: [Threadsplit] "[Threadsplit] Doppelklick"
Fang bitte nicht an zu nerven! |
|
| Nach oben |
|
 |
BoBo¨ Gast
|
Verfasst am: So Aug 19, 2007 6:49 pm Titel: |
|
|
| Zitat: | | Ich glaube ich muss gleich wieder einen [Threadsplit] erstellen: [Threadsplit] "[Threadsplit] Doppelklick" | Warum? |
|
| Nach oben |
|
 |
msgbox
Anmeldedatum: 05.05.2007 Beiträge: 727 Wohnort: C:\
|
Verfasst am: So Aug 19, 2007 6:57 pm Titel: |
|
|
@BoBo: merkst du nicht das du die ganze zeit von thema ablenkst? Ich will auf deine kommentare nicht weiter eingehen  |
|
| Nach oben |
|
 |
AGU Gast
|
Verfasst am: So Aug 19, 2007 7:01 pm Titel: |
|
|
Mein PC ist tatsächlich ein älteres Modell. Ich habe ja schon vorher geschrieben, das in dem Fall (zwei Schleifendurchläufe) der Performanceunterschied nicht umbedingt ins Gewicht fallen muss.
Deswegen ist Gapas Code trotzdem performanter als deiner. Wenn der Unterschied auf deinem System so gering ist, kannst du zum Test ja mal hundert Schleifendurchläufe machen. Dann sollte der Performanceunterschied auf alle Fälle sichtbar werden.
___________________
Gruß AGU |
|
| Nach oben |
|
 |
msgbox
Anmeldedatum: 05.05.2007 Beiträge: 727 Wohnort: C:\
|
Verfasst am: So Aug 19, 2007 7:11 pm Titel: |
|
|
| AGU hat Folgendes geschrieben: | | #Deswegen ist Gapas Code trotzdem performanter als deiner. Wenn der Unterschied auf deinem System so gering ist, kannst du zum Test ja mal hundert Schleifendurchläufe machen. Dann sollte der Performanceunterschied auf alle Fälle sichtbar werden. |
Aber hast du auch beachtet das the_boxer direckt am anfang es auch mit einer loop schleife gemacht hat Ich hab ja nur den fehler im loop verbessert
Aber der fehler war bei dir, den du auch zugegeben hast...(ich will nicht provozieren)
 |
|
| Nach oben |
|
 |
BoBo¨ Gast
|
Verfasst am: So Aug 19, 2007 7:39 pm Titel: |
|
|
| Zitat: | | merkst du nicht das du die ganze zeit von thema ablenkst? | Nein. Doch das du mich darauf hinweist, hilft mir unendlich. Danke msgbox  |
|
| Nach oben |
|
 |
AGU Gast
|
Verfasst am: So Aug 19, 2007 7:48 pm Titel: |
|
|
| Zitat: | | Aber hast du auch beachtet das the_boxer direckt am anfang es auch mit einer loop schleife gemacht hat | Natürlich. Aber the_boxers Ansatz ist nicht sehr gut. Das sollten die Performancetests doch inzwischen gezeigt haben. Er ist nun mal Anfänger und weiß es nicht besser.
Deine Aufgabe als Supporter ist, ihm zu zeigen, wie es besser geht. Und nicht einen schlechten Ansatz so hinzubiegen, das es mit Ach und Krach funktioniert.
Um es mal mit einem abstrusen Beispiel zu demonstrieren:
Wenn jemand in die Werkstatt kommt, weil ständig zu wenig Kühlwasser im Kühlkreislauf ist, wäre das klügste doch, das Leck zu beseitigen.
Du würdest ihm stattdessen raten, alle paar Kilometer anzuhalten, und neues Kühlwasser nachzufüllen.
Das Ergebnis ist das gleiche. Das Auto fährt weiter. Der Unterschied ist, der eine muss alle paar Kilometer anhalten, während es im anderen Fall mit einer einmaligen Reperatur erledigt ist.
Nun rate mal, in welchem der beiden Fälle man eher am Ziel ist.
EDIT
Die Reperaturlösung ist eindeutig performanter, als ständig Kühlwasser nachzufüllen.
_______________________
Gruß AGU |
|
| Nach oben |
|
 |
denick
Anmeldedatum: 15.09.2006 Beiträge: 1087 Wohnort: Berlin
|
Verfasst am: Di Aug 21, 2007 9:20 am Titel: |
|
|
Hallo msgbox, hallo AGU,
BoBo" ist in diesem Thread mal wieder sehr präsent, es geht auch um das Thema Performance, da muss wohl auch der denick ins Rampenlicht treten.
Es ist unbestritten, die Lösung mit der Loop ist in keiner Weise falsch, doch es gibt mit ClickCount eine Alternative. Sie verkürzt den Code und verbessert damit die Lesbarkeit, und sie könnte vielleicht auch schneller sein.
Ein Performancevorteil wirkt sich natürlich bei einem einzigen Doppelklick nicht spürbar aus, doch in einem längeren Skript gibt es viele Möglichkeiten, Performancevorteile zu verschenken, und sie summieren sich über die Laufzeit.
Meine ursprüngliche Entscheidung zwischen AutoIt und AutoHotkey habe ich ausschließlich wegen der Performance zugunsten von AHK getroffen. Die Syntax von AutoIt3 gefällt mir wesentlich besser und die Hotkey- und HotString-Funktionalitäten von AHK benötige ich persönlich nur sehr selten.
Nun ist A_TickCount wegen seiner Auflösung von 10 ms nicht wirklich dafür geeignet, kurze Anweisungsfolgen zu messen. Das steht so auch in der Hilfe. Um einen Eindruck von den Laufzeitunterschieden zu erlangen, kann man sich aber damit behelfen, die Anweisungsfolgen in einer Loop mehrfach laufen zu lassen. Dann wird das Ergebnis zuverlässiger.
Ich habe das mal gemacht, um zu prüfen, ob es da wirklich Performanceunterschiede gibt. Auf meinem Rechner mit einem auch nicht mehr ganz aktuellen AthlonXP liefert das Skript das auch für mich überraschende Ergebnis, dass bei 100 Wiederholungen die Laufzeitunterschiede minimal sind (weniger als 1 %), wenn SetBatchLines, -1 verwendet wird.
| Code: | #NoEnv
SetBatchlines, -1
SetMouseDelay, 0
Count := 100
StartTime := A_TickCount
Loop, %Count%
{
Loop, 2 ; führt das zwischen den {} zwei mal aus
{
MouseClick, left, 500, 500 ; die sache die ausgeführt wird
}
}
EndTime := A_TickCount
Time1 := EndTime - StartTime
StartTime := A_TickCount
Loop, %Count%
{
MouseClick, left, 500, 500, 2 ; die sache die ausgeführt wird
}
EndTime := A_TickCount
Time2 := EndTime - StartTime
Gui, Margin, 20, 20
Gui, Add, Text, , Zeit für %Count% Durchläufe in Millisekunden:
Gui, Add, Text, Section, Loop:
Gui, Add, Text, , Clickcount:
Gui, Add, Text, ys, %Time1%
Gui, Add, Text, , %Time2%
Gui, Add, Button, gGuiClose, OK
Gui, Show, , Performance
Return
GuiClose:
GuiEscape:
Gui, Destroy
ExitApp |
Das hätte ich so nicht erwartet, es ist aber so!  _________________ Hilfe zur Hilfe
(de)nick |
|
| Nach oben |
|
 |
BoBo¨ Gast
|
Verfasst am: Di Aug 21, 2007 10:06 am Titel: |
|
|
@ denick | Zitat: | | BoBo" ist in diesem Thread mal wieder sehr präsent | Soll keiner sagen das ich nicht vorab gewarnt hätte ... | Zitat: | | Deine Beratungsresistenz scheint doch ausreichend resistent zu sein - damit stehen uns sicher noch viele unterhaltsame (philosophische) Stunden bevor ... |
|
|
| Nach oben |
|
 |
msgbox
Anmeldedatum: 05.05.2007 Beiträge: 727 Wohnort: C:\
|
Verfasst am: Di Aug 21, 2007 11:36 am Titel: |
|
|
| denick hat Folgendes geschrieben: | | Laufzeitunterschiede minimal sind (weniger als 1 %)... |
Da hab ich wohl recht  |
|
| Nach oben |
|
 |
BoBo¨ Gast
|
Verfasst am: Di Aug 21, 2007 11:46 am Titel: |
|
|
@ msgbox
Dann eben noch mal. Aber, 8ung! Langsam lesen. | Zitat: | AGU als Gast - Verfasst am: So Aug 19, 2007 3:00 pm
--------------------------------------------------------------------------------
Du hast Recht und ich meine Ruh.
_____________________
Gruß AGU |
|
|
| Nach oben |
|
 |
msgbox
Anmeldedatum: 05.05.2007 Beiträge: 727 Wohnort: C:\
|
Verfasst am: Di Aug 21, 2007 11:48 am Titel: |
|
|
8ung L8ter sk8 witzig
Naja, das heist wohl das ein moderator einen fehler gemacht hat  |
|
| Nach oben |
|
 |
AGU Gast
|
Verfasst am: Di Aug 21, 2007 12:51 pm Titel: |
|
|
Hallo denick,
| Zitat: | | Nun ist A_TickCount wegen seiner Auflösung von 10 ms nicht wirklich dafür geeignet, kurze Anweisungsfolgen zu messen. | Das ist mir bekannt. Deswegen auch mein Hinweis, das bei zwei Schleifendurchläufen der Performanceunterschied vernachlässigbar ist.
| Zitat: | | Auf meinem Rechner mit einem auch nicht mehr ganz aktuellen AthlonXP liefert das Skript das auch für mich überraschende Ergebnis, ... | Hast du das Skript mehr als einmal laufen lassen? Ich habe dein Skript so 20 mal durchlaufen lassen. Auf meinem alten AthlonXP zeigen sich zwischen 1% und 5%. In einigen Fällen sogar über 10%. Da das aber ungewöhnliche Ausschläge sind, lasse ich die mal außen vor.
Ich habe die Maus nicht bewegt. Nur das Skript laufen gelassen und auf den GUI gewartet. Ein paar Ergebnisse waren.
| Code: | Loop - Clickcount
1082 - 1071
1071 - 1062
1091 - 1052
1072 - 1071
1092 - 1042 |
____________________
Gruß AGU |
|
| Nach oben |
|
 |
BoBo¨ Gast
|
Verfasst am: Di Aug 21, 2007 12:55 pm Titel: |
|
|
| Zitat: | | Naja, das heist wohl das ein moderator einen fehler gemacht hat | Ne, in der Hauptsache hat es gezeigt das du unbelehrbar bist, denn dein Versuch AGUs anspruchvolleren Lösungsansatz als Themaverfehlung zu outen, ist eben nur noch doppelt gaga.
Altersstarsinn wäre ein anrechenbarer mildernder Umstand, doch der lässt sich, AFAIK, bei einem 15jährigen in der Regel kaum rechtfertigen.  |
|
| Nach oben |
|
 |
msgbox
Anmeldedatum: 05.05.2007 Beiträge: 727 Wohnort: C:\
|
Verfasst am: Di Aug 21, 2007 1:14 pm Titel: |
|
|
Also mein PC ist recht neu. Nicht so wie bei AGU(nicht böse gemeint)! Bei mir sind die werte immer fast gleich...
@BoBo: Geh nochmal an den flughafen und such die 00 ab Und sag anschliesend wie viel zu gezählt hast  |
|
| Nach oben |
|
 |
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|