Impala replicates common bottleneck Grasshopper operations with a focus on efficiency, allowing complex scripts and static simulations embedded within Grasshopper to make use of all available computational capacity. This is primarily evident in scripts that deal with thousands of objects or rely heavily on numerical or physically-based computations.
The primary target audience is experienced design computation practitioners and Grasshopper users who are running into the upper bounds of the tool's native, single-core performance, and are willing to take a finer approach to boosting performance at key points. Impala focuses primarily on replicating existing Grasshopper functionality and developing an environment suitable to seamless integration of performant or multithreaded computation within GH. To this end it currently contains three types of components:
- Components that perform identical (or nearly identical) operations to existing Grasshopper components, but do so using a parallel strategy or a better algorithmic complexity (ex: Closest Point, Halton)
- Components that condense expensive Grasshopper patterns and use imperative methods to significantly reduce the time and space needed to obtain a result (ex: Closest Curve Closest Point, MeshFlow). These include physical intersections, inclusions, and closest-point functions.
- Components that limit Grasshopper's type-casting system in exchange for performance gains on larger inputs (ex: the QuickMath components)
For a full list of components and features check out the wiki page. Note: QuickMath components can be found under the Math tab. The remainder of the Impala components are located in their own plugin tab.
If this is your first time installing a Grasshopper plug-in, check out this video. Impala is compatible with both Rhino 5 and 6. Make sure the assemblies are unblocked.
Open up a new issue on Github, shoot me an email, or leave a comment here. Suggestions and wishes are also appreciated!