You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Bryan Duxbury (JIRA)" <ji...@apache.org> on 2008/05/27 07:05:58 UTC

[jira] Created: (THRIFT-22) TUnixSocket

TUnixSocket
-----------

                 Key: THRIFT-22
                 URL: https://issues.apache.org/jira/browse/THRIFT-22
             Project: Thrift
          Issue Type: New Feature
          Components: Library (Ruby)
            Reporter: Bryan Duxbury
            Priority: Minor


We should make a TUnixSocket (and TUnixServer) transport. This should be pretty easy in Ruby since there's already a UnixSocket and UnixServer class. It'd provide a nice speed boost when you're operating on the local machine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (THRIFT-22) TUnixSocket

Posted by "Kevin Clark (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-22?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin Clark resolved THRIFT-22.
-------------------------------

    Resolution: Fixed

Pushed in THRIFT-38.

> TUnixSocket
> -----------
>
>                 Key: THRIFT-22
>                 URL: https://issues.apache.org/jira/browse/THRIFT-22
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Library (Ruby)
>            Reporter: Bryan Duxbury
>            Assignee: Kevin Clark
>            Priority: Minor
>
> We should make a TUnixSocket (and TUnixServer) transport. This should be pretty easy in Ruby since there's already a UnixSocket and UnixServer class. It'd provide a nice speed boost when you're operating on the local machine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-22) TUnixSocket

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-22?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600192#action_12600192 ] 

David Reiss commented on THRIFT-22:
-----------------------------------

I'm definitely fine with including this, but I should warn you in advance that one of my coworkers did some experiments and was unable to find any significant performance difference between PF_UNIX and loopback TCP.  Our conjecture was that the TCP stack has gotten a lot of optimization, while the less-used Unix-domain stack is more primitive.  However, this test was only on one version (2.6.12, I believe) of one OS (Linux), so YMMV.

> TUnixSocket
> -----------
>
>                 Key: THRIFT-22
>                 URL: https://issues.apache.org/jira/browse/THRIFT-22
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Library (Ruby)
>            Reporter: Bryan Duxbury
>            Priority: Minor
>
> We should make a TUnixSocket (and TUnixServer) transport. This should be pretty easy in Ruby since there's already a UnixSocket and UnixServer class. It'd provide a nice speed boost when you're operating on the local machine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-22) TUnixSocket

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-22?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600194#action_12600194 ] 

David Reiss commented on THRIFT-22:
-----------------------------------

Bryan Duxbury made this comment in a duplicate of this bug:

At Rapleaf, we'd love to have a TUnixSocket and TUnixServerSocket that ran in Java. Before someone chimes in and says, "Java doesn't support Unix sockets!", I would point to JRuby's RubyUnixSocket/Server classes. They use JNA to get down to the bare metal and make it work. If we could take advantage of that class, then we'd have a really fast local machine transport.

> TUnixSocket
> -----------
>
>                 Key: THRIFT-22
>                 URL: https://issues.apache.org/jira/browse/THRIFT-22
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Library (Ruby)
>            Reporter: Bryan Duxbury
>            Priority: Minor
>
> We should make a TUnixSocket (and TUnixServer) transport. This should be pretty easy in Ruby since there's already a UnixSocket and UnixServer class. It'd provide a nice speed boost when you're operating on the local machine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (THRIFT-22) TUnixSocket

Posted by "Kevin Clark (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-22?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin Clark reassigned THRIFT-22:
---------------------------------

    Assignee: Kevin Clark

> TUnixSocket
> -----------
>
>                 Key: THRIFT-22
>                 URL: https://issues.apache.org/jira/browse/THRIFT-22
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Library (Ruby)
>            Reporter: Bryan Duxbury
>            Assignee: Kevin Clark
>            Priority: Minor
>
> We should make a TUnixSocket (and TUnixServer) transport. This should be pretty easy in Ruby since there's already a UnixSocket and UnixServer class. It'd provide a nice speed boost when you're operating on the local machine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-22) TUnixSocket

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-22?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600331#action_12600331 ] 

Bryan Duxbury commented on THRIFT-22:
-------------------------------------

A quick, modestly scientific test on my local machine shows that the average time for a tcp loopback request that writes and reads a total of 20 bytes takes 0.074ms. The same thing against Unix sockets takes 0.039ms. That's a fair improvement, almost double. (This is in a Ruby script, btw.)

> TUnixSocket
> -----------
>
>                 Key: THRIFT-22
>                 URL: https://issues.apache.org/jira/browse/THRIFT-22
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Library (Ruby)
>            Reporter: Bryan Duxbury
>            Priority: Minor
>
> We should make a TUnixSocket (and TUnixServer) transport. This should be pretty easy in Ruby since there's already a UnixSocket and UnixServer class. It'd provide a nice speed boost when you're operating on the local machine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-22) TUnixSocket

Posted by "Kevin Ballard (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-22?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12603734#action_12603734 ] 

Kevin Ballard commented on THRIFT-22:
-------------------------------------

Ok, I've implemented UNIXSocket and UNIXServerSocket on my branch (pri/kballard/ruby_lib/rewrite at thruhere or http://github.com/kballard/thrift). Unfortunately benchmarking shows no noticeable performance improvement.

> TUnixSocket
> -----------
>
>                 Key: THRIFT-22
>                 URL: https://issues.apache.org/jira/browse/THRIFT-22
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Library (Ruby)
>            Reporter: Bryan Duxbury
>            Priority: Minor
>
> We should make a TUnixSocket (and TUnixServer) transport. This should be pretty easy in Ruby since there's already a UnixSocket and UnixServer class. It'd provide a nice speed boost when you're operating on the local machine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-22) TUnixSocket

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-22?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600218#action_12600218 ] 

Bryan Duxbury commented on THRIFT-22:
-------------------------------------

Can you share the code used to do the benchmarking by any chance?

> TUnixSocket
> -----------
>
>                 Key: THRIFT-22
>                 URL: https://issues.apache.org/jira/browse/THRIFT-22
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Library (Ruby)
>            Reporter: Bryan Duxbury
>            Priority: Minor
>
> We should make a TUnixSocket (and TUnixServer) transport. This should be pretty easy in Ruby since there's already a UnixSocket and UnixServer class. It'd provide a nice speed boost when you're operating on the local machine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-22) TUnixSocket

Posted by "Kevin Clark (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-22?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600158#action_12600158 ] 

Kevin Clark commented on THRIFT-22:
-----------------------------------

I'd support a patch adding this feature.

> TUnixSocket
> -----------
>
>                 Key: THRIFT-22
>                 URL: https://issues.apache.org/jira/browse/THRIFT-22
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Library (Ruby)
>            Reporter: Bryan Duxbury
>            Priority: Minor
>
> We should make a TUnixSocket (and TUnixServer) transport. This should be pretty easy in Ruby since there's already a UnixSocket and UnixServer class. It'd provide a nice speed boost when you're operating on the local machine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-22) TUnixSocket

Posted by "David Reiss (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-22?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Reiss updated THRIFT-22:
------------------------------

    Comment: was deleted

> TUnixSocket
> -----------
>
>                 Key: THRIFT-22
>                 URL: https://issues.apache.org/jira/browse/THRIFT-22
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Library (Ruby)
>            Reporter: Bryan Duxbury
>            Priority: Minor
>
> We should make a TUnixSocket (and TUnixServer) transport. This should be pretty easy in Ruby since there's already a UnixSocket and UnixServer class. It'd provide a nice speed boost when you're operating on the local machine.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.