In the first part of this post, I laid out the problem at hand and the code for some of the more high-level business logic. I left off by mentioning that the calls to the “repository” classes were hiding complexity which resulted in disastrously poor performance. In this post, I’ll dig into those methods and how I ultimately refactored them to increase the performance by over an order of magnitude.
This is a story about some code I recently refactored at work, which resulted in a process that previously took double-digit numbers of hours down to about 20 minutes. I think it’s an interesting case because it was such a dramatic performance increase, and the root cause for the performance problem was something I think software developers run into a lot.
In Part 1 of this series, I talked about my overall impressions of the Switch and it’s
place in the spectrum of “home console” versus “handheld” gaming system. Part 2 covered some more detail about the ingenius Joy Con controllers as well as the Pro Controller, and the different modes of play that the system supports. Part 3 covered the software end of things, including the system software, Snipperclips, and 1-2-Switch. This post will focus on The Legend of Zelda: Breath of the Wild.