我在这里遇到了性能问题我想我不知道该怎么称呼它,但它有一个像外观一样的决策树。
该程序应该在短时间内处理相当多的数据。根据数据,程序应确定要设置的操作。大部分时间都有效。但有时并非所有数据都没有被处理(使用相同的数据进行测试)我将OSC消息作为来自外部程序的字符串,间隔约为1ms(可能更少)。 PythonOSC稍微处理它们然后将它发送到这个函数:
nextAction = {
"nextAction1": doSomethingElseA,
"nextAction2": dosomethingElseB,
"nextAction3": nextActionA
}
action = {
"action1": doSomethingA,
"action2": dosomethingB,
"action3": nextAction
}
def check(address, value):
keywords = address.split('/')
try:
if len(keywords) == 2:
action[keywords[1]](value)
if len(keywords) == 4:
action[keywords[1]][keywords[3]](int(keywords[2]), value)
except KeyError:
pass
也会有超过4个字的情况(可能还有1-2个字)。地址看起来像"x/address/2/here"
,值是float
是否有更好的方法来处理此数据以找出要设置的操作?表现明智。