Быстродействие и многопоточность

Обсуждение новых возможности программы, которые в будущем хотелось бы видеть в ней
Ответить
JpS
Сообщения: 7
Зарегистрирован: 10 май 2009, 16:43
Контактная информация:

Быстродействие и многопоточность

Сообщение JpS » 10 май 2009, 16:57

Во-первых, почему так медленно работает эмулятор? Страницы в браузере обычном открываются намного быстрее.

Во-вторых, (как следствие из первого) как можно реализовать многопоточность эмулятора? Потому что если нужно сделать много действий, то в одном потоке до скончания века можно будет регистрировать аккаунты на гугле (к примеру).
На данный момент вижу несколько причин препятствующих многопоточности:
1. биндинг эмулятора на конкрентый порт (рашаемо наверное как-то)
2. наследование настроек от ИЕ (куки там, прокси и пр.). решаемо наверное, но гораздо сложнее.
3. что-то еще наверняка, чего я не учел

Что думают разработчики?
Вообще по мне лично - это довольно актуально и не позволяет использовать эмулятор в промышленных масштабах.

medar2
Сообщения: 55
Зарегистрирован: 15 апр 2009, 16:48
Контактная информация:

Сообщение medar2 » 10 май 2009, 23:16

По поводу медленной загрузки страниц - тоже замечал такое. Но это, видимо, проблема с IE-компонентом в C#.

Запустить XHE на заданном порту можно, надо юзать ключ /port:xxxx при запуске.

Основная проблема многопоточности - общее пространство настроек у всех запущенных копий. Настройки (отображение картинок, настройки прокси) хранятся в реестре, в одном месте. Изменение их, например, изменение прокси, естественно, ведет за собой изменение прокси во всех клиентах. Куки тоже на всех одни - штатные IEшные.

Вот если бы у каждой запущенной копии XHE было свое личное пространство настроек/кук - вот тогда было бы счастье. А пока нет. А сделать это реально - у конкурентов ZennoPoster успешно работает многопоточно. Написан он на C#, как и, подозреваю, XHE.

Товарищи разработчики, кстати, скажите, вы так видите внедрение возможностей многопоточности как я описал, или как-то иначе ?

JpS
Сообщения: 7
Зарегистрирован: 10 май 2009, 16:43
Контактная информация:

Сообщение JpS » 15 май 2009, 01:34

Я вижу простейший способ разделения настроек - это Run As User. Причем ничего делать особенно не надо при этом, просто сам эмулятор запустить под разными юзверями. Тогда настройки прокси, кеша, кук и пр. будут отдельные.
Правда проблему производительности это только ухудшит.

ergelaser
Сообщения: 33
Зарегистрирован: 31 мар 2009, 11:18

Сообщение ergelaser » 15 май 2009, 15:09

JpS писал(а):Я вижу простейший способ разделения настроек - это Run As User. Причем ничего делать особенно не надо при этом, просто сам эмулятор запустить под разными юзверями. Тогда настройки прокси, кеша, кук и пр. будут отдельные.
Правда проблему производительности это только ухудшит.
А если надо в 500 потоков пустить?

JpS
Сообщения: 7
Зарегистрирован: 10 май 2009, 16:43
Контактная информация:

Сообщение JpS » 17 май 2009, 23:15

ergelaser писал(а):А если надо в 500 потоков пустить?
предложенный мной способ годится как временная "затычка". скорее всего на 500 юзеров не заработает. просто памяти не хватит (я думаю), хотя можно попробовать.

но по правильному конечно же надо делать это внутри программы, а именно при создании объекта эксплорера создавать отдельные экземпляры контекста окружения.

P.S. сам эмулятор у меня в памяти "весит" 20М без загруженных каких-либо скриптов. если запустить 500 копий, то это получается тупо 10Гигов памяти, так что думаю вообще задача не факт что решаемая на данном эмуляторе.

ergelaser
Сообщения: 33
Зарегистрирован: 31 мар 2009, 11:18

Сообщение ergelaser » 19 май 2009, 14:17

JpS писал(а):
ergelaser писал(а):А если надо в 500 потоков пустить?
предложенный мной способ годится как временная "затычка". скорее всего на 500 юзеров не заработает. просто памяти не хватит (я думаю), хотя можно попробовать.

но по правильному конечно же надо делать это внутри программы, а именно при создании объекта эксплорера создавать отдельные экземпляры контекста окружения.

P.S. сам эмулятор у меня в памяти "весит" 20М без загруженных каких-либо скриптов. если запустить 500 копий, то это получается тупо 10Гигов памяти, так что думаю вообще задача не факт что решаемая на данном эмуляторе.
Ну, про пицот я загнул, да. Ну потоков 50-100 хотя-бы.

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3047
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Сообщение bigfozzy » 12 дек 2009, 00:07

сделано

Ответить