We just deployed a much faster version of HelioScope. In our tests we saw speed increases ranging from 7.5x to 53x for large commercial projects. Generally speaking, the more complex the design, the bigger the improvement in performance.
At a high-level we have optimized our layout algorithm to be more efficient in choosing what to recalculate with each update to the design. This, along with a variety of low-level algorithm improvements, leads to a dramatically improved layout experience.
Below are a series of user-submitted test projects and their corresponding performance boost with the new algorithms.
Complex Example
This was the most complicated example we tested. 885 kW with over 350 complex keepouts spread across a dozen field segments.
Overall Speed Improvement: 53x
Commercial Example
The second test project is a fairly common commercial application. 793 kW with over 100 keepouts and a handful of field segments.
Overall Speed Improvement: 15x
Large Design
The third and final example is a 2.2 MW ground-mount with a little over 50 keepouts. This design is fairly simple, but still saw a significant improvement in performance.
Overall speed improvement: 7.5x
How We Tested
For each of the sites above, we compared their performance to the previous version of HelioScope over three major activities: moving a keepout, adjusting the path of a field segment, and adjusting the height of the largest field segment in the design.
We tested each site against these three types of changes. The results of each test are summarized below:
Anything Else?
In addition to speeding things up, we've also updated our layout rules, cleaned up our shade rendering to show the entire sun path, and a bunch of other upgrades.