Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option to only load entities from chunk and use it for genPOI, resulting in roughly 1/3 runtime reduction. #1225

Open
wants to merge 46 commits into
base: master
Choose a base branch
from

Conversation

markfickett
Copy link
Contributor

This addresses #1224 (my suggestion for some optimization to genPOI).

As well as adding the kwarg to only load entities, I pulled some of the data-processing out into helper methods when I was profiling, and left them factored out; I think that helps readability of the long method and keeps it from getting too far indented as I put some of the work behind a conditional.

I did not bother to put reading the biomes in the conditional since reading them is trivial in terms of processing time as compared to reading blocks/skylight/blocklight.

markfickett and others added 30 commits March 20, 2015 23:46
Added small note about how to look for the Markers button on a successful genpoi
This seems to be needed to make "sdist" include these headerfiles. i
have no idea how/if this worked in the past
This reverts commit d6d488c.

Because achin is a doofus
Removing trailing slashes from MANIFEST.in file.  Why is this needed?
No idea, i hate distutils
When adding documentation for the StructureOverlay I missed some
copy and paste error.

fixes overviewer#1229
Small documentation bug for StructureOverlay.
On Windows with mingw-w64, Pillow includes windows.h, and thus
including Imaging.h would result in a name conflict of "TRANSPARENT",
which windows.h #defines but overviewer.h wants to use as enum.

For the record, this used to not be broken back when I initially
fixed Pillow for mingw-w64, so the change got somewhere introduced
between then and now.
* When reading the cache, catch some errors on load, instead of crashing
* When writing to cache, write to tmp file, then move it into place.
  This should be more robust if a ctrl+c is recieved while writing the
  cache

Addresses overviewer#1266
We should wait for the buffer to fill up to 12 bytes instead of
simply assuming it will.

Possible fix for overviewer#1273.
Previously, the files were not closed after reading or writing;
by using a "with" statement, the file handles will be closed as
soon as they go out of scope.

Possible fix for overviewer#1271.
Inlining the function allows the compiler to optimize away the
function completely. Clang 3.7.1 does exactly that.

This leads to an error, if the library is used with python:

    % ./overviewer.py
    Traceback (most recent call last):
      File "/tmp/minecraft/Minecraft-Overviewer/overviewer_core/__init__.py", line 20, in check_c_overviewer
        import c_overviewer
    ImportError: /tmp/minecraft/Minecraft-Overviewer/overviewer_core/c_overviewer.so: undefined symbol: estimate_blocklevel

    Something has gone wrong importing the c_overviewer extension.  Please
    make sure it is up-to-date (clean and rebuild)
This breaks compatibily with Minecraft 1.8

See overviewer#1280
* Purpur blocks, pillars, stairs, and slabs
* End brick
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants