Results 1 to 2 of 2

Thread: Scalability of Qt open socket/stream number

  1. #1

    Default Scalability of Qt open socket/stream number

    Hi folks, my first post here. I am evaluating whether some Qt components will be suitable for a new program. Pardon me if my question can be answered by reading documents, I just think as a newbie it is easier to ask to begin with.

    The program is a server that needs to maintain large number of open sockets. It seems Qt use select() in event loop to poll streams. As select() is doesn't scale well with large number of streams, is it possible to use the Qt IO streams with other types of async IO event notification? ( For example, with libevent which uses epoll() )

    Thanks

  2. #2
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Scalability of Qt open socket/stream number

    Quote Originally Posted by pacesie View Post
    Hi folks, my first post here.
    Welcome!

    The program is a server that needs to maintain large number of open sockets. It seems Qt use select() in event loop to poll streams. As select() is doesn't scale well with large number of streams, is it possible to use the Qt IO streams with other types of async IO event notification? ( For example, with libevent which uses epoll() )
    If you modify the sources, then yes of course. The problem is epoll() is a Linux 2.6 call and Qt has to work on non-Linux unices as well and Linux machines with 2.4 kernels. That's probably one of the reasons for using select() there.

Similar Threads

  1. KDE/QWT doubt on debian sarge
    By hildebrand in forum KDE Forum
    Replies: 13
    Last Post: 25th April 2007, 06:13

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.