GlowstoneMC / Glowstone

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

Inefficient Usages of Java Collections #1125

Open FastAtlas opened 2 years ago

FastAtlas commented 2 years ago

Hi,

We find that there are several inefficient usages of Java Collections:

  1. The contains method is invoked upon a list object. We recommend replacing it with a HashSet.
  2. There is no iteration occurring upon a TreeMap and LinkedHashMap, thus the insertion order does not matter. We recommend replacing it with a HashMap.
  3. ArrayList is inserted before an iteration, while multiple memory reallocation might occur when the size of the list exceeds its capacity. We recommend replacing it with a LinkedList.

We discovered the above inefficient usage of containers by our tool Ditto. The patch is submitted. Could you please check and accept it? We have tested the patch on our PC. The patched program works well.

Bests

Ditto

CLAassistant commented 2 years ago

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

mastercoms commented 2 years ago

Also, can the CLA be signed by @DittoTool?