我有一个典型的宽列族,其中包含 {rowkey--> uuid4+date 和时间序列数据作为列},我在其上使用 pycassa xget() 调用实现了基于范围的查询。并不是说我受到单线程代码性能不佳的困扰,我更想了解当 xget() 调用是并行而不是顺序(从 for: 循环内部)进行时性能的差异。
我使用“线程”python 库来实现基于范围的查询的多线程版本,性能实际上大大降低。现在我知道 python GIL 对多线程代码的影响,但是有什么方法可以确定这实际上是由 GIL 引起的吗?可能是其他原因造成的吗?
提前致谢。
注意:我没有考虑“多处理”库,因为我无法为每个子进程使用不同的 ConnectionPool 对象。