werehuman 12.05.2011 18:10 Psi+

Есть ли ещё асинхронные тулкиты для работы с xmpp на python, кроме twisted?

1. utros 12.05.2011 18:11 eoranged

SleekXMPP, xmppy

2. werehuman → utros /1 12.05.2011 18:11 Psi+

они не асинхронные, я только что грепнул

3. utros 12.05.2011 18:12 eoranged

Чем они не асинхронные?
Как раз наоборот: синхронных я не видел. Первый, кстати, как и твистед реализует FSM.

4. werehuman → utros /3 12.05.2011 18:13 Psi+

в них асинхронная модель, но io у них блокирующий

5. utros → werehuman /4 12.05.2011 18:15 eoranged

Хы. I/O не ковырял. С другой стороны, плохо ли это?

6. werehuman → utros /5 12.05.2011 18:15 Psi+

ну вообще-то плохо

7. utros → werehuman /6 12.05.2011 18:16 eoranged

Чем?

8. werehuman → utros /7 12.05.2011 18:16 Psi+

тем, что io блокирующий %) Ты ведь в курсе, что операции с io занимают куда больше времени, чем вычисления.

9. utros → werehuman /8 12.05.2011 18:18 eoranged

А ты в курсе, что стандартное сетевое устройство физически не может обрабатывать несколько i/o запросов одновременно?

10. werehuman → utros /9 12.05.2011 18:19 Psi+

разумеется, только ты сейчас на фразу "лучше иметь два бакса, чем один" задал вопрос "а ты в курсе, что в твой кошелёк не влезет миллион?"

11. utros → werehuman /10 12.05.2011 18:25 eoranged

То есть под блокирующим i/o ты подразумеваешь select вместо poll/epoll?

12. werehuman → utros /11 12.05.2011 18:28 Psi+

представь себе, что блокирующий io — это когда программа однопоточная. А неблокирующий — это когда программа с двумя потоками. В одном потоке происходят вычисления, а в другом — работа с io. И эти потоки взаимодействуют друг с другом через очереди сообщений.

13. utros → werehuman /12 12.05.2011 18:30 eoranged

Что такое блокирующий/неблокирующий i/o с точки зрения программы? Синхронные/асинхронные сокеты или что?
под неблокирующим/блокирующим i/o можно многое подразумевать. Я не понимаю что имеешь в виду конкретно ты.

14. werehuman → utros /13 12.05.2011 18:30 Psi+

да, синхронные/асинхронные сокеты

15. werehuman → werehuman /14 12.05.2011 18:31 Psi+

при этом не используя gevent

16. utros → werehuman /14 12.05.2011 18:31 eoranged

А что питоновые мануалы говорят? Не очень знаком с реализацией сего на питоне.

17. werehuman → utros /16 12.05.2011 18:34 Psi+

что модуль socket синхронный. Есть модуль asyncore, там асинхронные сокеты, но её нету в указанных тобой либах.

19. werehuman → utros /16 12.05.2011 18:35 Psi+

да, в каких языках ты знаком с реализацией асинхронных сокетов, кроме эрланга?

20. utros → werehuman /17 12.05.2011 18:35 eoranged

И что они пишут про синхронные сокеты? Плохо масштабируются?
asyncore видел, но не пользовался: не было нужды.

21. utros → werehuman /19 12.05.2011 18:36 eoranged

Только на сях.

22. werehuman → utros /20 12.05.2011 18:36 Psi+

да ты опять издеваешься надо мной

23. utros → werehuman /22 12.05.2011 18:37 eoranged

Синхронные сокеты, временами, гораздо лучше асинхронных.

24. werehuman → utros /23 12.05.2011 18:38 Psi+

только когда лень разбираться с асинхронными. А большого трафика они не выдержат.

25. werehuman → utros /23 12.05.2011 18:38 Psi+

кстати, gevent — великолепная панацея, делает синхронные сокеты асинхронными, ты просто пишешь синхронный код, и он сам получается асинхронным. Только её нету под третий питон.

26. utros → werehuman /24 12.05.2011 18:41 eoranged

зависит от реализации же. Если они в бэкенде юзают epoll, то выдержат.

27. utros → werehuman /25 12.05.2011 18:41 eoranged

Зачем третий питон? Сырой он ещё.

28. werehuman → utros /26 12.05.2011 18:42 Psi+

то есть это асинхронность на уровне libc?

29. werehuman → utros /27 12.05.2011 18:42 Psi+

что ты подразумеваешь здесь под сыростью?

30. utros → werehuman /28 12.05.2011 18:44 eoranged

Что тебя так заело на асинхронности? Сокеты по дефолту синхронные.
А epoll реализован в ядре.

31. werehuman → utros /30 12.05.2011 18:45 Psi+

слушай, я спросил — есть ли асинхронный. А ты уже 30 комментов пытаешься убедить меня, что мне не нужна асинхронность.

32. utros → werehuman /31 12.05.2011 18:47 eoranged

Ну если она тебе действительно не нужна, что я поделаю?
А всё что есть и не уёбищно пиздец как, я перечислил.

33. Rayslava 13.05.2011 05:04

Хочешь многопоточности?
ТОЛЬКО ERLANG! ТОЛЬКО ХАРДКОР!

34. werehuman → Rayslava /33 13.05.2011 05:05 Psi+

хочу асинхронности

35. Rayslava → werehuman /34 13.05.2011 05:13 Office

Всё равно только эрланг, только хардкор :)
Ты так и не нашел себе фреймворка-то?

36. werehuman → Rayslava /35 13.05.2011 05:13 Psi+

кроме твистеда — нет ничего

37. Rayslava → werehuman /36 13.05.2011 05:14 Office

А инициализировать новый велосипед на гитхабе? :)

38. werehuman → Rayslava /37 13.05.2011 05:14 Psi+

я за пять лет его не сделаю

39. Rayslava → werehuman /38 13.05.2011 05:15 Office

То есть тебе реально нужен целый фреймворк, а не небольшой костыль, позволяющий асинхронный XMPP?

40. werehuman → Rayslava /39 13.05.2011 05:15 Psi+

вариант с gevent, конечно, имеет смысл

Do you really want to delete ?