应用程序引擎用python反序列化记录:真的这么慢吗?

应用程序引擎用python反序列化记录:真的这么慢吗?,python,google-app-engine,app-engine-ndb,Python,Google App Engine,App Engine Ndb,在分析我的python2.7应用程序引擎应用程序时,我发现将从ndb获取的记录反序列化为python对象平均需要7毫秒的时间。(在pb_to_query_result,pb_to_entity及其后代中,这不包括查询数据库和接收原始记录的RPC时间。) 这是预期的吗?我的模型有六个属性,其中一个是包含15个属性的LocalStructuredProperty,它还包括一个包含四个属性的重复StructuredProperty,但我认为平均对象总共应该不到30个属性 预计会这么慢吗?我想提取几千条

在分析我的python2.7应用程序引擎应用程序时,我发现将从ndb获取的记录反序列化为python对象平均需要7毫秒的时间。(在
pb_to_query_result
pb_to_entity
及其后代中,这不包括查询数据库和接收原始记录的RPC时间。)

这是预期的吗?我的模型有六个属性,其中一个是包含15个属性的
LocalStructuredProperty
,它还包括一个包含四个属性的重复
StructuredProperty
,但我认为平均对象总共应该不到30个属性

预计会这么慢吗?我想提取几千条记录来做一些简单的聚合分析,虽然我可以忍受一定的延迟,但超过10秒是个问题。我能做些什么来重组我的模型或模式,使之更可行吗?(除了定期预先计算我的聚合分析并缓存结果这一显而易见的解决方案之外。)

如果它的速度如此之慢是不寻常的,那么知道这一点会很有帮助,这样我就可以去寻找可能会损害它的东西。

简短回答:是的

我发现Python中的反序列化非常缓慢,特别是在涉及重复属性的情况下。显然,GAE Python反序列化创建了大量对象。众所周知,它的效率很低,但也很明显,没有人想碰它,因为它的地位太低了

真不幸。由于这种开销(即更快的CPU==更快的反序列化),我们大部分时间都运行F4前端