Python Gevent与扫描的同步处理,为什么它们的速度大致相同?

Python Gevent与扫描的同步处理,为什么它们的速度大致相同?,python,multithreading,gevent,Python,Multithreading,Gevent,Gevent只比同步处理快一点点。为什么? 是否有可能改进上述代码,使其使用gevent更快?大多数端口都是关闭的,因此从gevent版本获得加速时根本没有任何阻塞。在使用了更多Python线程之后,gevent是完成上述操作的最快方法。尽管没有阻塞。 def cn(host, port): try: conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM) conn.connect((host, p

Gevent只比同步处理快一点点。为什么?


是否有可能改进上述代码,使其使用gevent更快?

大多数端口都是关闭的,因此从gevent版本获得加速时根本没有任何阻塞。

在使用了更多Python线程之后,gevent是完成上述操作的最快方法。尽管没有阻塞。
def cn(host, port):
    try:
        conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        conn.connect((host, port))
        print '[+]%d/tcp open' % port
        conn.close()
    except:
        pass
        #print '[-]%d/tcp closed' % port

def ge():
    st = time.time()

    threads = [gevent.spawn(cn, '127.0.0.1', i) for i in xrange(1000)]
    gevent.joinall(threads)

    print "using gevent - " + str(time.time() - st)

def ss():
    st = time.time()

    for i in range(1, 1000):
        connScan('127.0.0.1', i)

    print "using sync processing - " + str(time.time() - st)