1. The forums will be archived and moved to a read only mode in about 2 weeks (mid march).

Fastest world format

Discussion in 'General discussion' started by SteveDev386, Apr 12, 2018.

  1. SteveDev386

    SteveDev386 Silverfish

    Messages:
    17
    GitHub:
    dschwartz783
    I'm curious if anyone has any idea which world format allows PocketMine to load chunks the fastest. I'd assume that the anvilpm format is somewhat more optimized than the regular anvil format, but what about LevelDB? I can do the testing if nobody has yet, but I thought I'd check first.
     
    Last edited: Apr 12, 2018
  2. MalakasPlayzMCPE

    MalakasPlayzMCPE Zombie Pigman

    Messages:
    667
    I tested this about 5 times. PMAnvil is faster. There are almost same...
     
  3. dktapps

    dktapps Administrator Staff Member PMMP Team

    Messages:
    774
    GitHub:
    dktapps
    I did some benchmarks on this when I was working on threaded chunk I/O. LevelDB is fastest by quite a large margin, and that's without any optimizations or corner-cutting - and let's say there is a LOT of corner-cutting which can be done with LevelDB. It is faster and more scalable.

    I want to make LevelDB the primary format for the next major MCPE release and cut back support for the legacy formats (due to chunk format changes).
     
    jasonwynn10, Muqsit and Tee7even like this.
  4. Irish

    Irish Baby Zombie

    Messages:
    156
    GitHub:
    irishpacks
    Chink I/O? Woah, doggy.
     
  5. dktapps

    dktapps Administrator Staff Member PMMP Team

    Messages:
    774
    GitHub:
    dktapps
    well I didn't even get a whole minute to fix my typos (writing from mobile), and word suggestions are not working on my browser... ¯\_(ツ)_/¯
     
    jasonwynn10 likes this.
  6. Irish

    Irish Baby Zombie

    Messages:
    156
    GitHub:
    irishpacks
    And I would've gotten away with it too... if it weren't for that meddling dktarps.
     
  7. SteveDev386

    SteveDev386 Silverfish

    Messages:
    17
    GitHub:
    dschwartz783
    Interesting. Do you know of any easy way to convert an Anvil world to LevelDB besides creating a new world and copying the chunks over? I mean, that would work I guess.
     
    jasonwynn10 likes this.
  8. dktapps

    dktapps Administrator Staff Member PMMP Team

    Messages:
    774
    GitHub:
    dktapps
    There are converters floating around the internet but I don't know if there are any up to date ones. We'll be writing converters for release.next (all things going to plan).

    As I said above I'm planning to cut support for the legacy formats in release.next, and go with leveldb (less loss of sanity due to PC/PE inconsistency in the core code then).
    The chunk format changes in MCPE.next make all of the PC Region-based formats unsuitable, including PMAnvil, so it will be LevelDB or a custom format. I'd rather avoid another custom format for obvious reasons.
     
  9. SteveDev386

    SteveDev386 Silverfish

    Messages:
    17
    GitHub:
    dschwartz783
    Yeah, PMAnvil hasn’t exactly seen mass adoption itself. Thanks.
     
  10. Tee7even

    Tee7even Slime

    Messages:
    81
    GitHub:
    tee7even
    LevelDB is fully supported right now, right? I'm thinking of using it as the main level format on my server to make it better, faster, stronger. [​IMG]
     
    jasonwynn10 likes this.
  11. SteveDev386

    SteveDev386 Silverfish

    Messages:
    17
    GitHub:
    dschwartz783
    You have to get the LevelDB library installed, specifically the fork from Mojang, although theres also a fork on pmmp’s github page i believe. Once you have that, you can install the php-leveldb extension, and it’ll work. If you use the pmmp-provided install scripts, I have no idea. I don’t use them.
     
    jasonwynn10 likes this.
  12. dktapps

    dktapps Administrator Staff Member PMMP Team

    Messages:
    774
    GitHub:
    dktapps
    not fully no - it doesn't support the 1.2.13+ chunk format. But the extension is supported on all platforms we support. Windows, Mac and Linux builds include it by default now (it'll become mandatory in future).
     
    jasonwynn10 likes this.
  13. SteveDev386

    SteveDev386 Silverfish

    Messages:
    17
    GitHub:
    dschwartz783
    Also worth pointing out that you will not get any benefit until you convert your worlds to LevelDB. You can do that pretty easily if you have a spare dev lying around. I can share some simple, safe code which does this if anyone’s interested.
     
    jasonwynn10 likes this.
  14. Tee7even

    Tee7even Slime

    Messages:
    81
    GitHub:
    tee7even
    Good. Does it work fine pre-1.2.13?
    Generating a new one from scratch counts, of course.
     
  15. dktapps

    dktapps Administrator Staff Member PMMP Team

    Messages:
    774
    GitHub:
    dktapps
    if you're generating a new world you'll be just fine.
     
    jasonwynn10 and Tee7even like this.
  16. Tee7even

    Tee7even Slime

    Messages:
    81
    GitHub:
    tee7even
    Aaand the last one: can the same latest version of the extension be used for the older versions of pmmp? For example, to support mcpe-1.1. The older pmmp version will need a PHP update and probably some other changes for that, but it should be generally possible?
     
  17. dktapps

    dktapps Administrator Staff Member PMMP Team

    Messages:
    774
    GitHub:
    dktapps
    theoretically speaking yes, but don't quote me on that - older versions than ALPHA12 are now end-of-life.
     
  18. Tee7even

    Tee7even Slime

    Messages:
    81
    GitHub:
    tee7even
    I know, I said that it will need some updates:
    I was asking only about changes in the extension itself (if there's anything breaking the format compatibility or something like that). Anyways, thank you.
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.