About (FastSuite 4.1.0+)
FastSuite enables faster execution of recipe matching through the use of concurrency. For any recipe type with more than 100 recipes, FastSuite will enable Concurrent Recipe Matching, and use multiple threads to match all recipe combinations, instead of relying on a single thread to perform this work. This was observed to produce a 10x - 12x speedup in All The Mods 8, as shown below:
[Multithreaded Test] - Took an average of 301960.28 ns to find the recipe for acacia planks
[Singlethreaded Test] - Took an average of 2774185.5 ns to find the recipe for acacia planks
[Multithreaded Test] - Took an average of 494851.94 ns to find the recipe for sticks
[Singlethreaded Test] - Took an average of 4500045.0 ns to find the recipe for sticks
[Multithreaded Test] - Took an average of 148572.14 ns to find the recipe for crafting table
[Singlethreaded Test] - Took an average of 3246270.5 ns to find the recipe for crafting table
[Multithreaded Test] - Took an average of 370346.56 ns to find the recipe for black shulker box
[Singlethreaded Test] - Took an average of 4711380.0 ns to find the recipe for black shulker box
[Multithreaded Test] - Took an average of 701000.56 ns to find the recipe for failed match
[Singlethreaded Test] - Took an average of 1.3034094E7 ns to find the recipe for failed match
Recipe types that exhibit problems with Concurrent Recipe Matching can be blacklisted in the configuration file. As compared to the previous iterations of FastSuite, the concurrent matching model is more compatible (it works with Polymorph installed), and it always works (whereas the old model did not work if there was substantial recipe churn and did not work on the first match). It also is a bit less brittle, because it does not need to write any data during matching, which could cause issues if mods were matching recipes off-thread.
About (FastSuite 4.0.0 and older)
Similar to the projects FastWorkbench and FastFurnace, FastSuite is a mod about improving recipe performance. However, unlike those two mods, it improves upon all mods that use the JSON recipe system, rather than just a specific subset of recipes. It does this by turning the list of recipes from a Set into a LinkedList. This list is then able to be reordered when a recipe is accessed, making accesses to it in the future much faster. Recipes that are close enough to the front of the list (that are within the "cache size") are not moved to avoid churning. The cache size is configurable, and each type of recipe has it's own cache space.
Performance
On the first access to a recipe, FastSuite will have identical performance to vanilla. However, past that first access, the time spent to access a recipe will decrease. This decrease can be substantial depending how far back in the list the recipe originally was. The impact is also more dramatic depending on how many recipes are loaded into the game, as then there is a greater range for movement of recipes. Below, we can see the performance improvements across access times to a few recipes, along with their index in the original recipe list order. The following series of 6 tables is organized as such:
The leftmost column states the recipe, it's original index in the recipe list, and the current trial. The next two columns compare FS/Vanilla recipe seek times in microseconds. The default Cache Size is 100, and is applied here. This means that entries that are not more than index 100 are not moved. See this for more information.
There is a dramatic change in recipes that are normally found towards the end of the recipe list, as seen in Acacia Planks. Recipes that are already towards the front of the list, such as Iron or Gold Nuggets, see minimal or no improvements. As such, we can see that there is no harm in applying the benefits that FastSuite provides, as it has exceptional performance benefits when it is useful (>95% improvement on acacia planks), and no impact when it would otherwise provide no benefit (as seen in the case of attempting a Failure match). We actually see slight detriments in Iron and Gold nuggets as they were within the Cache Size, and were actually pushed back by the operation of caching Acacia Planks, Sticks, and Crafting Tables. However, there is little to no performance lost due to that, especially not as compared to the benefit from caching the later recipes.
Compatibility
This mod should work completely with all other mods. It is made to be non-intrusive, and should not conflict with anything short of another mod also replacing the recipe manager. It has been tailored such that it should work with recipe modification mods such as KubeJS and CraftTweaker, and it does not cause any issues with JEI. I was able to load up All The Mods 3 and not notice any errors, and it was also tested in Skyfactory 1.
This mod does not replace FastWorkbench or FastFurnace, though their benefits will be lessened if this is installed, as some of the work will be offloaded to FastSuite. To receive maximum performance with regards to recipes, I still advise having both of them installed, but if you had to pick just one, it should be FastSuite over either of the others.
本站是资源分享站,资源均来自于互联网和用户自发分享,仅供学习和交流使用。如有版权问题,请联系管理员删除。
操作
创作者
待认领资源
成为此资源的创作者
其他链接
最近更新资源
通天之路
热度 273 | 2 天前更新
匠途闲境 - Create Craft & Quiet
热度 193 | 2 天前更新
VERITY.exe
热度 335 | 5 天前更新
咒术回战(咒术战斗)
热度 68933 | 5 天前更新
暮色森林精选 - The Best of Twilight Forest
热度 25591 | 5 天前更新
无限计划 0.1 - Project Infinity 0.1
热度 9732 | 5 天前更新
黑暗RPG - DarkRPG - Forge
热度 9574 | 5 天前更新
[TLWS]末世生辉 The Last World Shines
热度 9386 | 5 天前更新
简易小屋
热度 616 | 1 周前更新
灾厄巫咒
热度 654 | 2 周前更新
阿卡迪亚的天启
热度 2865 | 2 周前更新
寄生仙途
热度 801 | 2 周前更新
评论区 (0)
登录 后才能发表评论
快来发表第一条评论吧!