Impala by dcascaval 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)