самый быстрый способ - организовать данные так, чтобы они были проиндексированы по тому, что вы хотите найти. В настоящее время он проиндексирован по ключу, но вы хотите выполнить поиск по дате. Я думаю, что вам лучше всего проиндексировать его по дате, если вы хотите выполнить поиск по нему.
Я бы сохранил 2 словаря, один из которых проиндексирован, как вы делаете сейчас, а другой, где элементы индексируются по дате. Я бы выбрал временные рамки (скажем, 1 минуту) и добавил каждый объект в список на основе минуты, в которой он произошел, а затем добавил каждый список в словарь под ключом этой минуты. затем, когда вы хотите получить данные за определенный период времени, сгенерируйте соответствующие минуты и получите список (ы) из словаря. Это зависит от того, сможете ли вы узнать ключ в другом словаре по объектам.