Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
Я написал скрипт и успешно использую его для работы. Однако скорость его работы меня не устраивает. Я решил провести его оптимизацию.
Хотел спросить - Возможно ли получить сводку о работе скрипта - например скорость выполнения каждой отдельной строки кода - что бы понять на какой участок кода уходит больше всего времени.
$hTimer = TimerInit() ; Запускает таймер и хранит дескриптор в переменной
Sleep(3000)
$iDiff = TimerDiff($hTimer) ; Возвращает разницу во времени, от предыдущего запуска TimerInit, дескриптор которого указан в переменной
MsgBox(0, "Разница во времени", $iDiff)
автор, без кода невозможно указать на слабые участки. приведи пример и укажи, что именно не устраивает. восприятие скорости весьма субъективно. если это поиск пикселей, то автоит не самый скоростной инструмент
Попробуйте выявить тенденции времени выполнения равнозначных алгоритмов, с помощью инструмента TestTime.au3. Ссылка на архив ниже. Пример есть в архиве.
Пример:
Код:
#include 'TestTime.au3'
_Scan_TSTM()
#Region TestTime Func1
Local $a = 1, $b
$b = $a = 1 ? 1 : 2
#EndRegion
#Region TestTime Func2
Local $a = 1, $b
If $a = 1 Then
$b = 1
Else
$b = 2
EndIf
#EndRegion
#Region TestTime Func3
Local $a = 1, $b
If $a = 1 Then $b = 1
If $a <> 1 Then $b = 2
#EndRegion
#Region TestTime Func4
Local $a = 1, $b
Switch $a
Case 1
$b = 1
Case Else
$b = 2
EndSwitch
#EndRegion
#Region TestTime Func5
Local $a = 1, $b
Select
Case $a = 1
$b = 1
Case $a <> 1
$b = 2
EndSelect
#EndRegion
Сообщение автоматически объединено:
Если брать пример выше, то по моим наблюдениям таймингов, во множестве тестов, однострочные условия на первом месте $b = $a = 1 ? 1 : 2, на втором switch, потом select, далее if-else
Если вас интересуют скорости, то скрипт нужно оптимизировать. Придумать и протестировать на скорость несколько вариантов участков своего кода.
Например, поиск данных в большом архиве, с помощью перебора, дольше, чем если создать базу в строковой переменной, из которой можно тащить данные с помощью регулярок, это актуально для большой базы данных. Либо к примеру, если хранить карту ключей в первой ячейке массива, и по ключам тащить данные из остальных, то тут хороший вариант не заморачиваться с типами хранимых в базе переменных.И взаимодействие с такой базой будет быстрее. Соответственно, для этого, нужен свой сервис для работы с такой базой. Это дополнительное количество кода, но, в данном случае, увеличенный объём кода, оправдывается скоростью.
Точно также со всем остальным вашим кодом. Смотрите на циклы, вероятные точки замедления и пробуйте их оптимизировать другими способами.
Попробуйте выявить тенденции времени выполнения равнозначных алгоритмов, с помощью инструмента TestTime.au3. Ссылка на архив ниже. Пример есть в архиве.