GlowstoneMC / Glowstone

A fast, customizable and compatible open source server for Minecraft: Java Edition
https://glowstone.net
Other
1.9k stars 273 forks source link

Method for testing and benchmarking #366

Open valleydev opened 8 years ago

valleydev commented 8 years ago

My suggestion is to implement a benchmark, with all Features. Benchmark values are relative, because they are executed on different powerful systems.

BUT: When the performance after a release decreases more than 20% on the same machine, there should be a different solution

During development this world should not change, so we can measure the performance of the code.

For example:

  1. Having a flat world for measuring redstone etc. functionality and testing performance
  2. Have a defined random seed and benchmark world generation time for it
  3. Tree and Sugarcrane growing
  4. Animal Simulation (flat world with 50x50 fenced area)

Even a comprison to spigot etc. would be possible. What is your opinion?

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37490026-method-for-testing-and-benchmarking?utm_campaign=plugin&utm_content=tracker%2F14691067&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F14691067&utm_medium=issues&utm_source=github).
mastercoms commented 8 years ago

Yeah, a standard benchmark could even be coded in.

BSFishy commented 7 years ago

What could be done is benchmark code is native in the Glowstone code, in various places, to do some of the more one time things, or the things done less often, and when the results are gotten, they are uploaded to a server, as well as the server version and build, and a little bit of information about the computer it is running on. The users would obviously be able to opt out of this system. This would show what kind of computers are running the server, and where things need to be worked on.

mastercoms commented 7 years ago

We already have metrics, but I guess we can add more recorded data. http://mcstats.org/plugin/Glowstone