You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been profiling genPOI performance (on a single-threaded machine). One of the slow parts is reading/parsing data out of the chunks; I believe much of that data is unnecessary for genPOI.
Note especially that reading blocks, skylight, and blocklight contribute nontrivially to get_chunk, but only the result of data is used.
I'll prepare a pull request that adds an option to get_chunk to only read data. In my testing that reduces genPOI time by about a third, from about 300s to about 200s.
The other good optimization candidate looks like parsing data out of the NBTFile, which does not look like as easy a win. In that case I assume a C implementation would be faster; and the same approach as here (loading only required data) would probably be an improvement but the approach is not as clear.
The text was updated successfully, but these errors were encountered:
I've been profiling genPOI performance (on a single-threaded machine). One of the slow parts is reading/parsing data out of the chunks; I believe much of that data is unnecessary for genPOI.
Profiling result:
Note especially that reading blocks, skylight, and blocklight contribute nontrivially to get_chunk, but only the result of data is used.
I'll prepare a pull request that adds an option to get_chunk to only read data. In my testing that reduces genPOI time by about a third, from about 300s to about 200s.
The other good optimization candidate looks like parsing data out of the NBTFile, which does not look like as easy a win. In that case I assume a C implementation would be faster; and the same approach as here (loading only required data) would probably be an improvement but the approach is not as clear.
The text was updated successfully, but these errors were encountered: