firestore複数コレクションの取得はPromise.allを使うと若干早い

firestoreの取得速度を図ってみたのですが、Promise.allを使った方が若干早かったです。

コレクションにはそれぞれ100件ずつドキュメントを突っ込んでいます。

1.それぞれ同期的に取得

await db.collection('users').get().then(docs => docs)
await db.collection('cars').get().then(docs => docs)

ユーザー一覧と車一覧を同期的に全件取得しています。

 

2.Promise.allで取得

const [ userDocs, carDocs ] = await Promise.all([
  db.collection('users').get().then(docs => docs)
  db.collection('cars').get().then(docs => docs)
])

 

結果

一回目

1: 1343ms

2: 1331ms

二回目

1: 1211ms

2: 1196ms

三回目

1: 1008ms

2: 996ms

 

平均で10ミリ秒早かった

お仕事の相談

フリーランスエンジニアをお探しでしたらこちらよりご連絡ください お仕事の相談