Large increase in performance

  *  It would be much better if you fixed this by adding a proper empty constructor.
  * AFAIK `char`s size isn't necessarily a byte, you should use `u8`.
  * `sizeof(MapNode)` would be much clearer.
  * Since you aren't using any of `new`'s features you might as well use `malloc()`.