V
v2v
Итак решил я выделить часок на написание двух аналогичных агентов на Java и LotusScript и сравнения скорости их работы.
Результаты получилися очень интересными.
Прошу. Коды агентов, а далье результаты работы.
(клиент лотуса 6.5.5)
---------------------------------------!
---------------------------------------!
---------------------------------------!
Тестирование проводилося на почтовой базе данных (представление "Все письма" в базе) по всем документам.
Тест №1
Запускался лотус, открывалася нужная база, представление и 5ть раз подряд запускался агент.
Скорость работы Java агента(время в милисекундах!!!):
Скорость работы LotusScript агента(время в секундах!!!):
вышел из лотуса
Тест №2
По очереди запустил LotusScript затем Java агенты:
вышел из лотуса
Тест №3
Наоборот:
вышел из базы данных, но лотус не закрывал
Тест №4
после перезагрузки Windows
Тест №5
Среплицировал почтовую базу данных себе на локал( у меня её там не было вообще!)
Вышел из лотуса.
Тест №6
По очереди позапускал агентики, вот тоже интересные результаты получилися:
Выводы...
Я выводы для себя сделал, но мне интересно услышать мнение окружающих.
Результаты получилися очень интересными.
Прошу. Коды агентов, а далье результаты работы.
(клиент лотуса 6.5.5)
---------------------------------------!
Код:
import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
long start = System.currentTimeMillis();
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
Database db = agentContext.getCurrentDatabase();
DocumentCollection dc = agentContext.getUnprocessedDocuments();
Document doc = dc.getFirstDocument();
int k=0;
while (doc != null)
{
if (doc.getItemValueString("SendTo")!="")
k=k+1;
doc = dc.getNextDocument(doc);
}
long end = System.currentTimeMillis();
System.out.println("Document parsed: " + "".valueOf(k) + " by time: " + "".valueOf(end-start));
} catch(Exception e) {
e.printStackTrace();
}
}
}
---------------------------------------!
Код:
Sub Initialize
Dim start As Integer
Dim endt As Integer
start=Second(Now())
Dim session As New NotesSession
Dim db As NotesDatabase
Set db=session.CurrentDatabase
Dim dc As NotesDocumentCollection
Set dc = db.UnprocessedDocuments
Dim doc As NotesDocument
Set doc=dc.GetFirstDocument
Dim k As Integer
While Not(doc Is Nothing)
If (doc.GetItemValue("SendTo")(0)<>"") Then
k=k+1
End If
Set doc=dc.GetNextDocument(doc)
Wend
endt=Second(Now())
Dim tm As Integer
tm=endt-start
If (tm<0) Then
tm=tm+60
End If
Print "Documents parsed: " + Cstr(k) + " by time: " + Cstr(tm)
End Sub
Тестирование проводилося на почтовой базе данных (представление "Все письма" в базе) по всем документам.
Тест №1
Запускался лотус, открывалася нужная база, представление и 5ть раз подряд запускался агент.
Скорость работы Java агента(время в милисекундах!!!):
Document parsed: 370 by time: 52683
Document parsed: 370 by time: 41612
Document parsed: 370 by time: 32431
Document parsed: 370 by time: 30370
Document parsed: 370 by time: 29414
Скорость работы LotusScript агента(время в секундах!!!):
Document parsed: 366 by time: 33
Document parsed: 366 by time: 30
Document parsed: 366 by time: 31
Document parsed: 366 by time: 30
Document parsed: 366 by time: 31
вышел из лотуса
Тест №2
По очереди запустил LotusScript затем Java агенты:
LS: Document parsed: 366 by time: 31(с)
Jv: Document parsed: 370 by time: 29437(мс)
вышел из лотуса
Тест №3
Наоборот:
Jv: Document parsed: 370 by time: 29899(мс)
LS: Document parsed: 366 by time: 31(с)
вышел из базы данных, но лотус не закрывал
Тест №4
Jv: Document parsed: 370 by time: 29540(мс)
LS: Document parsed: 366 by time: 32(с)
после перезагрузки Windows
Тест №5
Jv: Document parsed: 370 by time: 26390(мс)
LS: Document parsed: 366 by time: 31(с)
Среплицировал почтовую базу данных себе на локал( у меня её там не было вообще!)
Вышел из лотуса.
Тест №6
По очереди позапускал агентики, вот тоже интересные результаты получилися:
Jv: Document parsed: 370 by time: 9901(мс)
LS: Document parsed: 366 by time: 4(с)
Jv: Document parsed: 370 by time: 3848(мс)
LS: Document parsed: 366 by time: 4(с)
Jv: Document parsed: 370 by time: 3425(мс)
LS: Document parsed: 366 by time: 4(с)
Выводы...
Я выводы для себя сделал, но мне интересно услышать мнение окружающих.