3 ms·
I did a very simple game on GAE in its early days and the biggest trouble were very costly writes. Basically you could forget about applications that needed to
by bd 17y ago
I did a very simple game on GAE in its early days and the biggest trouble were very costly writes.
Basically you could forget about applications that needed to write game state to datastore in each step.
Even the simplest possible writes were already triggering CPU quota warnings [1].
I didn't touch GAE recently, so maybe they already relaxed it a bit, but when it started, it was usable practically only for read-heavy applications (for which Google strongly suggested to use memcached wherever possible).
Also moving larger amounts of data between your computer and GAE datastore was massive pain (e.g. backups or initial state load). You had to be very careful not to blow over your quotas, as such imports were doing a lot of writes.
---
[1] For example, in early days they counted CPU use in "megacycles":
* memcached based ajax request costed tens of megacycles
* datastore-read based ajax request costed hundreds of megacycles
* datastore-read-write ajax request costed thousands of megacycles
- grandalf 17y agothis has gotten much better. Also, they now let you specify what level of consistency you want, which makes writes go a lot faster if you're just putting in a bunch of data or don't need to wait to be sure it's consistent before you put in the next item.