On Tue, Jun 15, 2010 at 7:11 PM, Arie Velthoen <arie_velthoen at hotmail.com> wrote: > Hi, > > For your info: > > It appears that PJSUA release 1.5.5 (and 1.6) on WinXP/2003 results in a > much higher cpu-load than before (release 1.5 and back), when having many > RTP-channels/calls configured. > > This appears to be caused by ticket #1015 Disable ioqueue Completion Port > backend > > I understand that release builds of pjproject 1.5 and older: use in PJLIB > ioqueue_winnt.c > > whereas in release 1.5.5 and up this is replaced by ioqueue_select.c which > appears to be much less efficient. > > I have 2048 RTP-channels configured. > > My config_site.h contains: > > #?? define PJSUA_MAX_CALLS??????? 2048 > > #?? define PJSUA_MAX_CONF_PORTS?? 4098 > > #?? define PJSUA_MAX_PLAYERS????? 2048 > > # ??define PJ_IOQUEUE_MAX_HANDLES 4096 > Yes we had to disable IOCP ioqueue due to unsolved bug, as the ticket says. Do you really need to configure for that many calls? I mean to be frank I wouldn't expect PJSUA-LIB to be able to handle 2048 calls, because it was not designed that way (as the FAQ says, http://trac.pjsip.org/repos/wiki/FAQ#pjsua-lib-perf). And unlike the IOCP, the extra/unused calls may bring with them some polling overhead, so it's best to reserve the least amount that you're going to use. Cheers Benny