|
You last visited: Today at 21:51
Advertisement
Schnelligkeit von Scripten bzw. Programmen erhöhen
Discussion on Schnelligkeit von Scripten bzw. Programmen erhöhen within the AutoIt forum part of the Coders Den category.
01/20/2012, 21:18
|
#1
|
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
|
Schnelligkeit von Scripten bzw. Programmen erhöhen
Hi,
Ich habe einen Downloader geschrieben der auch wunderbar und einigermaßen schnell Funktioniert. Ich habe mir als Vergleichswert eine 10MB Datei genommen und messe jedes mal die geschwindigkeit mit Timer etc. mein Ziel ist es das Script noch zu verbessern nur leider weiß ich nicht mehr wie.
Folgende dinge habe ich bereits gemacht:
-Sich wiederholende Aktionen in Funktionen geschrieben
-Schleifen brechen innerhalb einer "Runde" ab nicht am Anfang oder am Schluss
-Strings so kompakt wie möglich verarbeitet
-Das Script sauber und ohne schnick schnack aufgebaut
Was habt ihr noch für Ideen wie man da noch was rausholen kann.
Ich erwarte keine Sekunden die verbessert werden da ich weiß das AutoIT nicht die schnellste Sprache ist.
MfG Croco
|
|
|
01/20/2012, 23:20
|
#2
|
elite*gold: 574
Join Date: Nov 2010
Posts: 2,498
Received Thanks: 726
|
Kein AutoIt dafür nehmen?
|
|
|
01/20/2012, 23:29
|
#3
|
elite*gold: 1
Join Date: Mar 2008
Posts: 213
Received Thanks: 224
|
@Vorposter: Geh wo anders flamen.
@Topic: Ich helf dir gern beim optimieren, am besten ueber nen Messenger. ICQ, Skype?
|
|
|
01/20/2012, 23:30
|
#4
|
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
|
Quote:
Originally Posted by Njahs
Kein AutoIt dafür nehmen?
|
Deine Beiträge bringen mich zum Weinen. Die sind total unnötig.
"Kein AutoIt dafür nehmen"... Wenn er fragen würde, welche Programmiersprache er für einen Downloader nehmen soll, wäre die Antowrt angemessen. Hat er aber nicht und fertig.
bt2: Poste mal dein Script  Mach eventuell Variablennamen so kutz wie möglich z.B $a. Falls zur Übersichtlichkeit Kommentare hast, entferne diese.
Nunja, wie schon gesagt, könnten wir eigentlich nur dann weiter helfen, wenn du uns dein Script postest
|
|
|
01/21/2012, 00:22
|
#5
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
wenn du dein script hier reinstelln würdest könnten alle mal einen blick drauf werfen =)
|
|
|
01/21/2012, 00:58
|
#6
|
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
|
Quote:
Originally Posted by Buffmebuffyou
@Vorposter: Geh wo anders flamen.
|
Er hat vollkommen recht. Wer geschwindigkeit will soll die Finger von Scriptsprachen lassen.
|
|
|
01/21/2012, 01:07
|
#7
|
elite*gold: 1
Join Date: Mar 2008
Posts: 213
Received Thanks: 224
|
Quote:
Originally Posted by MoepMeep
Er hat vollkommen recht. Wer geschwindigkeit will soll die Finger von Scriptsprachen lassen.
|
Irrelevant. KTHXBYE
|
|
|
01/21/2012, 01:09
|
#8
|
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
|
Quote:
Originally Posted by Buffmebuffyou
Irrelevant. KTHXBYE
|
Och, fühlt sich da wer angegriffen weil sein ach so tolles AutoIt langsamer Schrott ist? :<
|
|
|
01/21/2012, 01:11
|
#9
|
elite*gold: 2
Join Date: Mar 2008
Posts: 8,541
Received Thanks: 4,539
|
Quote:
Originally Posted by Logtetsch
bt2: Poste mal dein Script  Mach eventuell Variablennamen so kutz wie möglich z.B $a. Falls zur Übersichtlichkeit Kommentare hast, entferne diese.
|
wtf? weil kommentare und lange variablennamen ja beim ausführen mehr zeit kosten o.O?
wenn es hier einen beitrag gibt der zum heulen ist, dann ist dass deiner.
Wie schon geschrieben, ohne das script zu sehen lässt sich nicht viel sagen ausser das autoit halt lahm ist
|
|
|
01/21/2012, 14:04
|
#10
|
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
|
Sry, war nicht mehr on.
Hier mal das Komplette Programm.
Code:
;http://www.youtube.com/watch?v=py5w1DbNsyk
#include <String.au3>
#include <Array.au3>
#include <File.au3>
#include <YouTube.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global $Links = ""
ClipPut(" ")
Opt("GUIResizeMode",$GUI_DOCKALL)
#Region ### START Koda GUI section ### Form=z:\users\xcode\desktop\ytdownloader\gui.kxf
$Form1_1 = GUICreate("YTDownloader-Beta", 642, 361, 831, 125)
GUISetBkColor(0xFFFFFF)
$Edit1 = GUICtrlCreateEdit("", 8, 171, 626, 182)
GUICtrlSetData(-1, "Bitte fügen sie maximal ein Videlink pro Zeile ein.")
$Group1 = GUICtrlCreateGroup("", 136, 2, 498, 137)
$Label1 = GUICtrlCreateLabel("Titel:", 142, 18, 360, 17)
$Label2 = GUICtrlCreateLabel("Länge:", 142, 42, 360, 17)
$Label3 = GUICtrlCreateLabel("User:", 142, 66, 360, 17)
$Label4 = GUICtrlCreateLabel("Größer:", 142, 90, 360, 17)
$Progress1 = GUICtrlCreateProgress(214, 114, 414, 16, $PBS_SMOOTH)
GUICtrlSetColor(-1, 0xFF0000)
$Label5 = GUICtrlCreateLabel("-|-", 142, 114, 70, 17)
$Label6 = GUICtrlCreateLabel("0/0", 587, 15, 36, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("Download", 7, 141, 626, 25, $WS_GROUP)
$Pic1 = GUICtrlCreatePic("", 8, 13, 120, 120, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUICtrlSetImage($Pic1,@ScriptDir&"\Pic\No.jpg")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$TIMER = TimerInit()
DownloadLoop()
$TIMERDIFF = TimerDiff($TIMER)
$TIMER_Count = IniReadSection("Timer.ini","TIMER")
IniWrite("Timer.ini","TIMER",UBound($TIMER_Count),$TIMERDIFF)
EndSwitch
WEnd
Func DownloadLoop()
If GUICtrlRead($Edit1) = "" Then
MsgBox(0,"Error","Es wurden keine Videos eingegeben")
Else
WinMove("YTDownloader-Beta","",0,0,642,166)
$CRLF = StringSplit(GUICtrlRead($Edit1),@CRLF)
_ArrayDeleteEmpty($CRLF)
For $i=1 to UBound($CRLF)-1
$Addi = 0
$Divis = 1
$Titel = Title($CRLF[$i])
$VLink = GetVideoImg($CRLF[$i],$Titel)
GUICtrlSetImage($Pic1,$VLink)
$Grose = Size($CRLF[$i])
$Lange = Lenght($CRLF[$i])
$User = User($CRLF[$i])
If StringLen($Titel) > 40 Then
$Titel = StringLeft($Titel,40)
EndIf
GUICtrlSetData($Label6,$i&"/"&UBound($CRLF)-1)
GUICtrlSetData($Label1,"Titel: "&$Titel)
GUICtrlSetData($Label2,"Länge: "&$Lange)
GUICtrlSetData($Label3,"User: "&$User)
GUICtrlSetData($Label4,"Größe: "&$Grose)
$Ran = Random(1,1000000)
$HInet = InetGet(GetDownloadLink($CRLF[$i]),@ScriptDir&"\Videos\"&$Titel&$Ran&".mp4",0,1)
Do
$cSize = FileGetSize(@ScriptDir&"\Videos\"&$Titel&$Ran&".mp4")
$Akk = $cSize*100/$Grose
GUICtrlSetData($Progress1,$Akk)
GUICtrlSetData($Label5,Round($Akk,2)&"%")
Sleep(30)
Until $cSize = $Grose
FileDelete($VLink)
Next
EndIf
Schluss()
EndFunc
Func Schluss()
WinMove("YTDownloader-Beta","",642, 361, 647, 385)
GUICtrlSetData($Label1,"Titel:")
GUICtrlSetData($Label2,"Länge:")
GUICtrlSetData($Label3,"User:")
GUICtrlSetData($Label4,"Größe:")
GUICtrlSetData($Label5,"-|-:")
GUICtrlSetData($Label6,"0/0")
GUICtrlSetData($Edit1,"Bitte fügen sie maximal ein Videlink pro Zeile ein.")
MsgBox(0,"Fertig","Die Videos sind im Video Ordner zu finden.")
EndFunc
Und hier die YouTube.au3 (Include Datei)
Code:
#include-once
#include <String.au3>
#include <Array.au3>
#include <File.au3>
#include <Inet.au3>
Func GetDownloadLink($URL)
$Source = _INetGetSource($URL)
$img = _StringBetween($Source,'img.src = "','";')
If @error Then
MsgBox(0,"Error","Link ist falsch")
Else
$Rep1 = StringReplace($img[0],"\/\/","//")
$Rep2 = StringReplace($Rep1,"\/","/")
$Rep3 = StringReplace($Rep2,"\u0026","&")
$Rep4 = StringReplace($Rep3,"generate_204","videoplayback")
Return $Rep4
EndIF
EndFunc
Func Download($URL)
$GDL = GetDownloadLink($URL)
$oSize = InetGetSize($GDL)
$T = Title($URL)
If FileExists($T&".mp4") Then
$T = $T&Random(1,1000)
EndIf
InetGet($GDL,@ScriptDir&"\"&$T&".mp4",0,1)
EndFunc
Func Title($URL)
$TitleB = _StringBetween(_INetGetSource($URL),'<meta name="title" content="','">')
$Title = $TitleB[0]
Return $Title
EndFunc
Func Size($URL)
$Size = InetGetSize(GetDownloadLink($URL))
Return $Size
EndFunc
Func Lenght($URL)
$URL_Time = _INetGetSource($URL)
$Time_Bet = _StringBetween($URL_Time,'"length_seconds": ',',')
$Time = $Time_Bet[0]
$Minuten = $Time/60
If StringInStr($Minuten,".") Then
$Minuten_Split = StringSplit($Minuten,".")
$Minuten = $Minuten_Split[1]
EndIf
$Sekunden = $Time-($Minuten*60)
Return $Minuten&":"&$Sekunden&" Min"
EndFunc
Func GetVideoImg($URL,$GVI)
$Pic_URL = _INetGetSource($URL)
$Pic_DW = _StringBetween($Pic_URL,'<meta property="og:image" content="','">')
InetGet($Pic_DW[0],@ScriptDir&"\Pic\"&$GVI&".jpeg")
$Return = @ScriptDir&"\Pic\"&$GVI&".jpeg"
Return $Return
EndFunc
Func User($URL)
$Source = StringReplace(_INetGetSource($URL),@CRLF,"")
$User = _StringBetween($Source,' <a href="/user/','" class="yt-user-name author"')
Return $User[0]
EndFunc
Func _ArrayDeleteEmpty(ByRef $ARRAY)
If Not IsArray($ARRAY) Then Return 0
Local $arTMP[1]
For $i = 0 To UBound($ARRAY) -1
If $ARRAY[$i] <> '' Then
If $arTMP[0] = '' Then
$arTMP[0] = $ARRAY[$i]
Else
ReDim $arTMP[UBound($arTMP)+1]
$arTMP[UBound($arTMP)-1] = $ARRAY[$i]
EndIf
EndIf
Next
$ARRAY = $arTMP
EndFunc
PS: Der Link im Code vom Programm ist meine Datei mit der ich vergleiche zurzeit sind es 21149.7751390819 ms
|
|
|
 |
Similar Threads
|
Wlan schnelligkeit von 1.3 MB auf 100 KB
09/12/2011 - Technical Support - 12 Replies
Hallo leute
Seit 2 wochen ist mein wlan ncihtmehr sogut
ich habe nix dran gemacht !
hatte mal 1,3 MB aber jetzt nurnoch 100 kb
hilfe pls
mfg
|
Schnelligkeit !
07/11/2011 - Combat Arms - 11 Replies
Heyho Leute,
wie kommt man auf die höchste Geschwindigkeit mit seinem Char?
Recon Vest, was noch alles ? :o
|
[Frage]S4-league Schnelligkeit
08/02/2010 - S4 League - 4 Replies
also leute ich habe bei s4 folgendes problem und zwar dauert bei mir das patchen immer ewigkeiten wobei ich eine relativ gute internet leitung habe (bei mein kumpel am pc der ne schlechtere hat gehts viel schneller) und außerdem hängt s4 ewigkeiten wenn ich ein screenshoot mache. Gibt es irgendwelche Tricks, Lösungen etc. dies zu beheben?
Mein System:
Windows Vista Service pack1 32-bit system
Prozessor: Intel(R) Core(TM) Duo CPU T6600 @ 2,20 GHz 2,20 GHz
Arbeitsspeicher: 4 Gb...
|
Maus-Schnelligkeit
07/19/2010 - CrossFire - 23 Replies
Auf wie viel % soll ich Mouse sensivity(weiß nicht wie das geschrieben wird ist aber die schnelligkeit) stellen?
also wie viel ist ungefär am besten? ich hab nämlich grad 40
|
dauerhaft Schnelligkeit der Natur?!
07/02/2007 - World of Warcraft - 3 Replies
Hey Leute
ich bin grad mitm Eleschami inner Grp und wir haben n paar Hordler beim Ring der Beobachtung gemetzelt.. auf einmal hatte er dauerhaft Schnelligkeit der Natur und egal was er gecastet hat, es ging nicht weg.
Ich hab dann ein Duell mit ihm gemacht und er hat mir 5 Blitzschläge und nen Kettenblitzhintereinander reingehauen. Er ist den Hordlern hinterhergelaufen und hat sie mit Blitzschlägen gekillt.. im Laufen.. also es war wirklich so das der Buff nicht mehr weg ging.
Hab ihn...
|
All times are GMT +1. The time now is 21:52.
|
|