У меня есть типичное широкое семейство столбцов с {rowkey--> uuid4+дата и данные временных рядов в виде столбцов}, для которых я реализовал запрос на основе диапазона, используя вызовы pycassa xget(). Не то чтобы меня мучила низкая производительность однопоточного кода, мне было скорее любопытно понять разницу в производительности, когда вызовы xget() выполняются параллельно, а не последовательно (изнутри цикла for:).
Я использовал библиотеку python «threading» для реализации многопоточной версии запроса на основе диапазона, и производительность значительно снизилась. Теперь я знаю о влиянии Python GIL на многопоточный код, но могу ли я как-то быть уверенным, что это на самом деле вызвано GIL? Может быть, это вызвано чем-то другим?
Заранее спасибо.
Примечание. Я не рассматриваю библиотеку «многопроцессорность», потому что не могу позволить себе иметь разные объекты ConnectionPool для каждого подпроцесса.