Path: csiph.com!usenet.pasdenom.info!news.redatomik.org!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.021 X-Spam-Evidence: '*H*': 0.96; '*S*': 0.00; 'url:sourceforge': 0.03; 'say,': 0.05; 'library?': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; 'suggest': 0.14; "(it's": 0.16; 'awesome.': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'scalability,': 0.16; 'subject:class': 0.16; 'tcp': 0.16; 'wrote:': 0.18; 'library': 0.18; 'looked': 0.18; 'url:default': 0.19; 'not,': 0.20; 'code,': 0.22; 'cc:addr:python.org': 0.22; "haven't": 0.24; 'cc:2**0': 0.24; 'posts': 0.26; 'header:In-Reply- To:1': 0.27; 'am,': 0.29; 'scale': 0.29; 'url:code': 0.29; 'cool': 0.30; 'message-id:@mail.gmail.com': 0.30; 'question:': 0.31; 'anyone': 0.31; 'fri,': 0.33; 'actual': 0.34; 'maybe': 0.34; 'could': 0.34; 'something': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'scalable': 0.36; 'two': 0.37; 'project': 0.37; 'server': 0.38; 'needed': 0.38; 'does': 0.39; 'use.': 0.39; 'called': 0.40; 'easy': 0.60; 'new': 0.61; 'url:p': 0.64; 'more': 0.64; 'facilities': 0.69; 'yourself': 0.78; '2015': 0.84; 'regret': 0.91; 'to:none': 0.92; 'ultimate': 0.93; 'wanting': 0.93; '2013': 0.98 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=gFXznC+65iF9q2ikHI70Sz+4Vp2KZUedGbF4wSYgW04=; b=MX0GZ+Qq+NjAicloHijqO81Njrzke/9nOanQNfHsH2EUxXgapKNh1lu2MutHjgiEbc U6hW1a/69VUVm49gvMuRc4vqJfIekNNMqbaK1Kf1WESPFQHVW8XEwNFuJROeEZ1HMrLP XlEQxtIBeOjealV+Wj1O/Ku4XBoE9SEV2ccSb9Uu3xL5Zp9mxT1bbHkBxuMFEHzbyVKY qr5LvRulQppOI7xMChVqjOTWHM4GDbEtpqiU9uwrAtlCKwET25yYed36oM5quA/BcN63 01iiIx+87Ixf/oDE0Ns+9rw353QQvm3j+vw+r+7x2OmasKaDYdZi4OeocgMVAN/oW7t7 9bow== MIME-Version: 1.0 X-Received: by 10.107.134.206 with SMTP id q75mr1902872ioi.27.1431049985991; Thu, 07 May 2015 18:53:05 -0700 (PDT) In-Reply-To: <6e3e810e-b50f-48ef-a8eb-ff85bfa29420@googlegroups.com> References: <6e3e810e-b50f-48ef-a8eb-ff85bfa29420@googlegroups.com> Date: Fri, 8 May 2015 11:53:05 +1000 Subject: Re: Multi-threaded TCP server class for general use From: Chris Angelico Cc: "python-list@python.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.20+ Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 19 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1431049988 news.xs4all.nl 2891 [2001:888:2000:d::a6]:51571 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:90111 On Fri, May 8, 2015 at 8:20 AM, wrote: > I needed to develop a highly scalable multi-threaded TCP server in Python and when I started writing it in 2013 I could not find a suitable library that would scale the way I needed but also easy to use. > > So I invented one - it's called Pyloom. If you want to take a look, it's part of my DBIS project at the moment: https://sourceforge.net/p/dbis/code/ci/default/tree/src/pyloom > > Question: does anyone see the value of this library? I haven't looked at your actual code, but one thing I would suggest considering is the new asyncio facilities that are coming in Python 3.5 - or the existing asyncio that came in provisionally with 3.4. For ultimate scalability, you may find yourself wanting less threads and more asynchronicity, and this is something that's looking pretty cool and awesome. (It's also looking like over a thousand, maybe over two thousand, posts on python-ideas. I have not, I regret to say, been reading every single post.) ChrisA