Menu

#8 lo_server_new() and lo_server_thread_new() is very slow

open-accepted
None
6
2007-12-22
2007-02-04
Anonymous
No

The functions lo_server_new() and lo_server_thread_new() take a very long time to execute on Debian Etch (2007-02-04). The reason seems to be that the called function getnameinfo() takes a very long time to execute, on the order of 5 to 10 seconds. The comments in the code says that this is the "IPv6-friendly" way, so I tried adding some #ifdef ENABLE_IPV6 around it and that made things much snappier (pretty much instantaneous) when liblo is built without --enable-ipv6. I'm attaching the patch.

Discussion

  • Nobody/Anonymous

    Patch that makes the use of getnameinfo() depend on ENABLE_IPV6

     
  • Nobody/Anonymous

    Logged In: NO

    By the way, I am lars dot luthman at gmail . Not logged in automatically for some reason.

     
  • Nicholas Humfrey

    Logged In: YES
    user_id=711618
    Originator: NO

    Thanks for the bug report, I have implemented this changed in Subversion Trunk,

    Thanks,

    nick.

     
  • Nicholas Humfrey

    • priority: 5 --> 6
    • assigned_to: nobody --> nhumfrey
    • status: open --> closed-accepted
     
  • raskolnikov

    raskolnikov - 2007-12-22
    • status: closed-accepted --> open-accepted
     
  • raskolnikov

    raskolnikov - 2007-12-22

    Logged In: YES
    user_id=1353907
    Originator: NO

    Hi,

    I was about to submit this bug.

    I would not mark it as solved, if most GNU/Linux distributions distribute a liblo version with ipv6 support enabled we would have to suffer this slowness in our applications.

    Is there any way to get ipv6 friendlyness without calling getnameinfo()?

    If the answer is just *no*, could you please let ipv6 support be determined at realtime (for example with a lo_server_new_noipv6, or with a LO_UDP_NOIPV6 protocol or sth like that in case you don't want to break backwards compatibility), so applications developers can be sure that the users of their apps won't suffer annoying delays.

    Lots of thanks.

     

Log in to post a comment.