Огромная разница в скорости создания сокетов Python3.7 / Python2.7 - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь создать сокет, а затем подключиться к тому же серверу, пока не смогу установить соединение с ПК, и у меня возникла проблема: моя программа ПУТЬ быстрее на Python 2.7, чем на Python 3.7.

Вот минимальный пример:

# client.py

import time
import socket

begin = time.time()
socket_list = []

while True:
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.settimeout(1)
        s.connect(("127.0.0.1", 65432))
        socket_list.append(s)
    except:
        print(len(socket_list))
        print(time.time() - begin)
        for sock in socket_list:
            sock.close()
        break

# server.py

import socket

HOST = "127.0.0.1"
PORT = 65432

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen()
while True:
    s.accept()

Ouput со стороны клиента Python 3.7 и со стороны сервера Python 3.7:

16298
32.764869928359985

Ouput со стороны клиента Python 2.7 и со стороны Python 3.7сторона сервера:

16297
1.86599993706

ОС: Windows 10

Сервер:

Сервер Gitlab работает в моемлокальная сеть, на другом компьютере.

Вышеупомянутый сервер.

Примечание: Пожалуйста, не проверяйте это, кроме как локально.

Редактировать: Добавлена ​​серверная часть, просто чтобы убедиться, что это не проблема

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...