Turf is designed to be fast: fast enough for real-time GIS in browsers and big data crunching on a node.js server.

Some of Turf’s speed comes from JavaScript engines like V8 that make JS one of the fastest interpreted languages. Turf can run without a server, so interactive operations like calculating walkability aren’t slowed down by bandwidth and server load.

Every Turf module uses statistically-driven benchmarks to measure performance and provide a baseline for future improvements.

Turf is only going to get faster – we’re replacing parts relying on jsts with faster algorithms and supporting spatial indexing with rtrees. Already set for the next version are performance bumps in turf-extent, turf-explode, and turf-count that yield improvements from 2-80x faster.

We’re testing Turf with bigger and bigger datasets: it can solve analysis problems like simplifying 23,000 county polygons and checking 8.5 million geofences within a single second. We need you to test the limits: try it out for your big spatial analysis problems and see what’s possible.