Python Picasa APIを使用して、すべての連絡先から最新の20枚の写真を取得しています(つまり、最新の20枚の写真のみ)。これをPythonでコーディングしましたが、非常に遅いです。連絡先ごとに20枚の写真を取得しているため、実際には最適化されていません(合計で20枚の写真のみが必要です)。
def getRecentPhotos(self, user='default', limit='20'):
users = self.getContactIDs(user)
photos_tmp = []
photos = []
for user in users:
photos_tmp = self.getRecentPhotosByUser(user)
for photo in photos_tmp.entry:
photos.append(photo)
photos_sorted = sorted(photos, key=lambda photo: photo.timestamp.text, reverse=True)
return photos_sorted[:20]
このリクエストには、平均で8秒かかります(ローカルWebサーバーの場合)。どうすればこれを最適化できますか?最長の呼び出しは、2つのforループがネストされている部分です。