繁体   English   中英

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

[英]Gevent vs sync processing for scanning, why are they approximately the same speed?

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)

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

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

大多数端口是关闭的,因此完全没有阻塞可从gevent版本获得加速。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM