performance

Complexity

Yes, HSP has a lot of features. It's part of it's unique design compared to other plugins - HSP lets you do things the way YOU want, not the way some plugin designer thought they should be. Chances are that unique edge or configuration you want, HSP can do it.

But what if you just want a "simple" home plugin? Perhaps another plugin seems easier. And by all means, I'm not jealous of users, so if you feel another home/spawn plugin meets your needs better, please use it! (my motivation here is purely selfish: it takes time to support a plugin and I'd rather you ask some other guy for support than me)

However, I do want to debunk that HomeSpawnPlus is too complex to get started. If you just want to trim it down to the basics, that's easy to do as you'll see in just a moment. But with HSP, if your needs change and you decide later you want some other features, those other features are only a configuration option away, rather than a whole plugin swap. HSP will grow nicely with your changing needs.

But maybe you just want to start with home/spawn and have NOTHING else to get started. Easy!

# config.yml
commands:
  disabledCommands:
    - '*'
  home:
    class: Home
  sethome:
    class: SetHome
  spawn:
    class: Spawn
  setspawn:
    class: SetSpawn

Put that as your entire config.yml and you'll get exactly that and nothing more: 4 commands, /home, /sethome, /spawn and /setspawn. Decide later you want homes to be set by beds too? Just add in the option. Decide later you want groupspawns for your groups? Just add in the options.

But what's that you say? You don't have a permission system and the commands aren't working for your non-op players? Well that's easy to fix too:

# config.yml
permissions:
  - ops
core:
  defaultPermissions:
    - hsp.command.home
    - hsp.command.sethome
    - hsp.command.spawn

Just like that, all your players have access to /home, /sethome and /spawn, no permissions system needed. /setspawn isn't listed, so it would only be allowed by ops in this example.

You get the point. HSP has a lot of options, but you can just start simple and build your way up, adding things as your needs grow.

Memory

I've read comments by the occasional uninformed person who looks at HSP and says "it must be bulky" or "it seems too big". Of course they have never actually looked into it to back that opinion up with any facts. It is true that all that flexibility has some cost, but it's not all that much. I downloaded a few other plugins and compared the memory startup footprint to HSP. The popular Vault plugin takes about 3MB, another home plugin takes 7MB, LWC takes 8MB and HSP takes 11MB.

Consider a single player logging into your server is between 50-75MB. So if you run a 20 person server, you're looking at around 1.5GB just in MineCraft chunks alone. 11MB of 1.5GB is a fraction of a percent of your overall memory utilization.

So, yes, if you're running on a tiny server where every single MB counts and you're hoping that by shaving off enough "big" plugins that you can squeeze one extra player on, then HSP may not be for you. For everyone else who isn't scrapping for every last byte of RAM, HSP is an average sized plugin for the features it offers.

CPU

I have done quite a bit of CPU profiling on my average sized server (30 player peak capacity) using Bukkit's profiling features. I was doing the profiling to look for any performance heavy plugins. But the results also show where HSP sits in line with a number of other plugins you might recognize (this is not the full list of plugins, but the relative position of HSP in the middle of all the plugins is consistent)

DispNameChanger              54.50 ms
LogOres                      57.41 ms
iConomy                      81.40 ms
Heimdall                     235.50 ms
Honeypot                     238.42 ms
Multiverse-Core              296.98 ms
HomeSpawnPlus                320.06 ms
MultiInv                     370.94 ms
CommandBook                  490.39 ms
dynmap                       490.98 ms
VanishNoPacket               646.60 ms
ChestShop                    722.63 ms
HeroChat                     1388.72 ms
MCDocs                       1453.52 ms
WorldEdit                    1461.91 ms
TeleportSuite                2312.94 ms
LWC                          2547.57 ms
LogBlock                     5477.65 ms
WorldGuard                   17316.81 ms
Multiverse-Portals           17778.21 ms

This list is in no way meant to be definitive of "plugin cost", these timings can and do change drastically between different runs, different server environments and different usage patterns. In over 20 such timing data I have, HSP sometimes is higher or lower in the list relative to other plugins, but it is never one of my top 5 or 10 plugins that I worry about performance for. Which really is the point of this section; for all of HSP's functionality, it's been intentionally coded to be very frugal with CPU resources.


Comments

Posts Quoted:
Reply
Clear All Quotes