Point-in-Polygon Algorithm Performance Benchmark ================================================ System Status ------------- Python Environment ~~~~~~~~~~~~~~~~~~ **Python Version**: 3.14.2 (CPython) **NumPy Version**: 2.4.4 **Platform**: Darwin arm64 **Processor**: arm TimezoneFinder Configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **C Implementation Available**: False **Numba JIT Available**: True Performance Optimizations ~~~~~~~~~~~~~~~~~~~~~~~~~ * ✗ Using pure Python point-in-polygon implementation * ✓ Numba JIT compilation enabled Benchmark Configuration ~~~~~~~~~~~~~~~~~~~~~~~ **Test Queries**: 10,000 **Algorithm Type**: Point-in-Polygon **Test Data Type**: Random timezone boundary polygons with random query points **Polygon Source**: TimezoneFinder's timezone boundary dataset Test Methodology ---------------- **Polygons Used**: Random timezone boundary polygons from TimezoneFinder's dataset **Query Points**: Random geographic coordinates (longitude, latitude) **Test Process**: Each test iteration selects a random polygon from the timezone boundary dataset and a random query point, then measures the time to determine if the point lies within the polygon **Polygon Characteristics**: Real-world timezone boundaries with varying complexity, from simple rectangular shapes to highly detailed coastlines and political boundaries Performance Results ------------------- .. list-table:: :header-rows: 1 :widths: 33 33 33 * - Implementation - Average Time (s) - Throughput (queries/sec) * - pt_in_poly_clang - 6.3e-06 - 1.6e+05 * - pt_in_poly_python - 2.2e-06 - 4.5e+05 Performance Summary ------------------- Python implementation WITH Numba is 1.8x faster than the C implementation .. note:: Performance results may vary based on system configuration, compiler optimizations, runtime conditions, and the complexity of the randomly selected timezone boundary polygons used in each test run.