Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

google app engine chunkSize & prefetchSize - where can I read details on it?

All the info regarding these two sums up to:

chunkSize

Sets the chunk size. Please read the class javadoc for an explanation of how chunk size is used.

prefetchSize

Sets the number of entities to prefetch.

Tried looking at the java docs, and at the source code in the SVN. No info at all! I mean, info regarding the actual implication of these two.

Well, prefetchSize is more or less clear - how many entities are fetched when running th query.
If my understanding is right, for example if I set the query's limit to 1000 and prefetchSize to 1000, it will read them all at once to the memory.

What about chunkSize? Is this in bytes size? Entities amount?

What are the effects of low/high number, set to these two?

like image 249
Poni Avatar asked Aug 02 '11 14:08

Poni


1 Answers

The top of the page you linked to says:

prefetchSize is the number of results retrieved on the first call to the datastore.

chunkSize determines the internal chunking strategy of the Iterator returned by PreparedQuery.asIterator(FetchOptions) and the Iterable returned by PreparedQuery.asIterable(FetchOptions).

chunkSize's description is a bit vague, admittedly. It specifies the number of results to fetch on subsequent datastore requests (after the first prefetchSize results have been consumed).

like image 112
Nick Johnson Avatar answered Oct 20 '22 06:10

Nick Johnson