python读取串口很慢


import serial  #import the serial library
from vpython import *  #import all the vpython library

cube =box(pos=vector(0,0,0),axis=vector(2,0,0),size = vector(2,2,3))

arduinoSerialData = serial.Serial('com5',9600) #create an object to read serial port
while True: #Loop forever
    rate(10) #20 time per second
    if (arduinoSerialData.inWaiting()>0): #check to see fi data is on serial port
        myData = arduinoSerialData.readline() #if data is there,then read it
        myData = str(myData,encoding='utf-8')

    distance = float(myData) #convert string myData to floating point number and hold in distance variable
    print(myData)
    cube.pos.x = distance

就是特别慢,在注释掉转换为字符串和浮点数前速度能稍微快点,在arduino的串口监视器中速度就很快,应该是代码问题,可是不理解原因。
以及偶尔程序会出错,显示无法将数据转换成浮点数,但有时候又可以,