db.Model+db.put()と Entity+datastore.Put()の速度比較 python | google app engine
とりあえず、書いてみたのですが予想通り。
datastore.Putは db.putの中で呼ばれてるだけなので、やってることは一緒ということで差はありませんでした。
Model , 各 propertyも何か邪魔になるようなこともしていないようで。
50件put
db.Model継承 db.put
319ms 2210cpu_ms 2000api_cpu_ms | cost -254 megacycles. 273ms 2210cpu_ms 2000api_cpu_ms | cost -245 megacycles. 250ms 2210cpu_ms 2000api_cpu_ms | cost -235 megacycles. 334ms 2233cpu_ms 2000api_cpu_ms | cost -271 megacycles. 665ms 2210cpu_ms 2000api_cpu_ms | cost -267 megacycles.
直接 entity作って、datastore.Put。low level api
470ms 2233cpu_ms 2000api_cpu_ms | cost -249 megacycles. 370ms 2186cpu_ms 2000api_cpu_ms | cost -233 megacycles. 252ms 2233cpu_ms 2000api_cpu_ms | cost -234 megacycles. 436ms 2186cpu_ms 2000api_cpu_ms | cost -244 megacycles. 370ms 2280cpu_ms 2000api_cpu_ms | cost -295 megacycles.
ほぼ一緒です。cpu時間に差は出なそうですね。
500件でもほぼ同じでした。
50件GET
db.Model継承 db.get
ms=120 cpu_ms=612 api_cpu_ms=425 cpm_usd=0.024207 | cost -224 megacycles. ms=110 cpu_ms=635 api_cpu_ms=425 cpm_usd=0.024856 | cost -194 megacycles. ms=397 cpu_ms=588 api_cpu_ms=425 cpm_usd=0.023559 | cost -202 megacycles. ms=908 cpu_ms=612 api_cpu_ms=425 cpm_usd=0.024207 | cost -220 megacycles.
datastore.Get直接
ms=202 cpu_ms=612 api_cpu_ms=425 cpm_usd=0.024207 | cost -188 megacycles. ms=118 cpu_ms=588 api_cpu_ms=425 cpm_usd=0.023559 | cost -185 megacycles. ms=185 cpu_ms=612 api_cpu_ms=425 cpm_usd=0.024207 | cost -199 megacycles. ms=116 cpu_ms=588 api_cpu_ms=425 cpm_usd=0.023559 | cost -194 megacycles. ms=113 cpu_ms=612 api_cpu_ms=425 cpm_usd=0.024207 | cost -201 megacycles.
こちらも全くもって同じ。