RIGHT get_redditor() 慢?

PRAW get_redditor() slow?

有没有人注意到大虾的get_redditor()方法有点慢? 我昨天开始使用它,当我开始注意到速度下降时 我决定做一些测试。我使用以下代码:

import praw
import time

time1 = 0
time2 = 0

print('Initial reddit setup')
time1 = int(round(time.time() * 1000))
user_agent = ('Reddit Checker 0.1 by /u/NinjaXI')
r = praw.Reddit(user_agent)
time2 = int(round(time.time() * 1000))
print(time1)
print(time2)
print(time2 - time1)
print('===================================================================')

print('Get Subreddit Python')
time1 = int(round(time.time() * 1000))
pythonSub = r.get_subreddit('Python')
time2 = int(round(time.time() * 1000))
print(time1)
print(time2)
print(time2 - time1)
print('===================================================================')

print('Get hot 10')
time1 = int(round(time.time() * 1000))
pythonSub.get_hot(limit=10)
time2 = int(round(time.time() * 1000))
print(time1)
print(time2)
print(time2 - time1)
print('===================================================================')

print('Get Redditor NinjaXI')
time1 = int(round(time.time() * 1000))
me = r.get_redditor('NinjaXI')
time2 = int(round(time.time() * 1000))
print(time1)
print(time2)
print(time2 - time1)
print('===================================================================')

print('Get submitted 10')
time1 = int(round(time.time() * 1000))
me.get_submitted(limit=10)
time2 = int(round(time.time() * 1000))
print(time1)
print(time2)
print(time2 - time1)
print('===================================================================')

这输出:

Initial reddit setup
1421319134782
1421319134783
1
===================================================================
Get Subreddit Python
1421319134783
1421319134783
0
===================================================================
Get hot 10
1421319134783
1421319134783
0
===================================================================
Get Redditor NinjaXI
1421319134783
1421319137402
2619
===================================================================
Get submitted 10
1421319137402
1421319137402
0
===================================================================

如您所见,使用 get_redditor() 比 get_subreddit() 花费(在此 运行)2.6 秒。每次平均时间在 2 到 2.6 秒之间,但 get_subreddit() 仅高达 1 毫秒。我在做什么吗?这是 praw/reddit api 的已知问题吗?我可以做些什么来加快速度吗?

PRAW 的 getter 通常 return lazy objects,这意味着它们仅在您实际尝试使用该对象时才从 Reddit 的服务器请求数据。这与您非常快速的函数调用是一致的——一切都在本地发生。您的 get_redditor() 调用可能正在立即请求数据(虽然我不能说为什么;根据文档,它也应该是惰性的)。