Mon Nov 28. 2022
Paper Build 587 contains 2 important updates
1) Optimization for Plugins! A decent 'across-the-board' for every plugin that touches the Material class (which is likely more than 50% of them) to improve the speed of the code to convert between API and Internals. Additionally, Any plugin not compiled running in legacy 1.13 mode had a few slight improvements too (and they also benefit from the previous improvement too). For anyone who know's programming, the optimization turns all APINMS simple conversions from a HashMap to O(1) performance.
2) Fixes to timings data integrity. IE the TIMING_STACK_CORRUPTION. We identified that if a plugin ever had an error (Exception in the logs), it would corrupt Timing data which could have all sorts of consequences on the reliability of your timing data. Those risks are now fixed and should only be subject to plugins that integrate to timings themselves who forget to stop their Timing. If that does happen, the error message is a bit more clearer on who the offender is so the issue can be reported to them.
The optimizations in #1 should of been completely safe – And I have tested both modern and legacy plugins and things appear to have no issues, but please report it if they do happen!