Сравнение скорости работы Lotusscript и Java

Тема в разделе "Lotus - Программирование", создана пользователем v2v, 12 июн 2007.

Статус темы:
Закрыта.
  1. v2v

    v2v Гость

    Итак решил я выделить часок на написание двух аналогичных агентов на Java и LotusScript и сравнения скорости их работы.
    Результаты получилися очень интересными.
    Прошу. Коды агентов, а далье результаты работы.
    (клиент лотуса 6.5.5)

    ---------------------------------------!
    Код (Text):
    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();
    }
    }
    }
    ---------------------------------------!

    Код (Text):
    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 агента(время в милисекундах!!!):
    Скорость работы LotusScript агента(время в секундах!!!):
    вышел из лотуса

    Тест №2
    По очереди запустил LotusScript затем Java агенты:
    вышел из лотуса

    Тест №3
    Наоборот:
    вышел из базы данных, но лотус не закрывал

    Тест №4
    после перезагрузки Windows
    Тест №5
    Среплицировал почтовую базу данных себе на локал( у меня её там не было вообще!)
    Вышел из лотуса.

    Тест №6

    По очереди позапускал агентики, вот тоже интересные результаты получилися:
    Выводы...
    Я выводы для себя сделал, но мне интересно услышать мнение окружающих.
     
  2. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    а как агенты запускались руками(локально или на сервере) или по расписанию ?
     
  3. v2v

    v2v Гость

    руками, с локального компьютера.
     
  4. nor

    nor Гость

    Для: v2v

    Хотелось бы услышать, какой конкретно вывод вы сделали из вышеописанных тестов?

    Известно, что локальные LS агенты работают быстрее локальных Java агентов. Однако серверные LS агенты работают медленнее серверных Java агентов.
     
  5. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    согласен с nor

    в общем случае локальный LS ~ в 2 раза быстрее, чем локальный Java, на сервере, наоборот,
    НО серверные агенты медленне, чем локальные..
     
  6. v2v

    v2v Гость

    ясное дело что при обращение к серверу теряется время, и такие агенты работают медленне.
    Но я не сказал бы что Java агенты на столько уж медленней(в 2 раза), возможно это связано с выполнением каких то специальных операций по работе с lotus и которые оптимизированы в lotus notes но в данном случае, по результатам тестов, видно что java агенты работают по скорости соизмерими с lotus script.
    Так что можно смело использовать java для написание приложений для Lotus...
     
  7. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    к примеру, попробуй осуществить следующее..<br>документы создаются непосредственно в представлении, используется свойство представления <br>Create new documents at view level.. используются редактируемые колонки, при заполнении каждого поля пользователь вводит несколько символов, далее ентер по введенным символам производится поиск по всем документам представления и выводится уникальный список значений поля по текущей колонке, в которых присутствует введенное пользователем слово...<br><br>на LS это будет работать значительно быстрее, чем на java<br>
     
Загрузка...
Похожие Темы - Сравнение скорости работы
  1. Erlan
    Ответов:
    8
    Просмотров:
    1.641
  2. k85
    Ответов:
    2
    Просмотров:
    1.152
  3. clas
    Ответов:
    3
    Просмотров:
    1.605
  4. juk-777
    Ответов:
    29
    Просмотров:
    4.706
  5. aank10
    Ответов:
    3
    Просмотров:
    1.971
Статус темы:
Закрыта.

Поделиться этой страницей