Timezone Finding Performance Benchmark

System Status

Python Environment

Python Version: 3.14.2 (CPython)

NumPy Version: 2.3.5

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: Timezone Finding

Test Modes: File-based and In-memory

Query Types: On-land points and Random points

File-Based Mode

Results for ‘on land points’ (points included in a land timezone)

Function Name

Seconds/Query

Points/Second

certain_timezone_at()

1.2e-04

8k

TimezoneFinder.certain_timezone_at()

7.8e-05

13k

timezone_at_land()

4.7e-06

214k

TimezoneFinder.timezone_at_land()

4.6e-06

218k

timezone_at()

4.3e-06

232k

TimezoneFinder.timezone_at()

4.3e-06

234k

unique_timezone_at()

7.0e-07

1425k

TimezoneFinder.unique_timezone_at()

6.4e-07

1566k

TimezoneFinderL.unique_timezone_at()

6.6e-07

1521k

TimezoneFinderL.timezone_at_land()

9.7e-07

1032k

TimezoneFinderL.timezone_at()

6.9e-07

1459k

Results for random points (anywhere on earth)

Function Name

Seconds/Query

Points/Second

certain_timezone_at()

8.5e-05

12k

TimezoneFinder.certain_timezone_at()

7.4e-05

13k

timezone_at_land()

3.3e-06

302k

TimezoneFinder.timezone_at_land()

3.3e-06

307k

timezone_at()

2.9e-06

342k

TimezoneFinder.timezone_at()

2.9e-06

342k

unique_timezone_at()

6.8e-07

1462k

TimezoneFinder.unique_timezone_at()

6.4e-07

1573k

TimezoneFinderL.unique_timezone_at()

6.8e-07

1472k

TimezoneFinderL.timezone_at_land()

1.0e-06

966k

TimezoneFinderL.timezone_at()

7.1e-07

1411k

In-Memory Mode

Note

Global functions and TimezoneFinderL do not support in-memory mode.

Results for ‘on land points’ (points included in a land timezone)

Function Name

Seconds/Query

Points/Second

TimezoneFinder.certain_timezone_at()

7.2e-05

14k

TimezoneFinder.timezone_at_land()

3.5e-06

289k

TimezoneFinder.timezone_at()

3.1e-06

323k

TimezoneFinder.unique_timezone_at()

6.3e-07

1598k

Results for random points (anywhere on earth)

Function Name

Seconds/Query

Points/Second

TimezoneFinder.certain_timezone_at()

6.1e-05

16k

TimezoneFinder.timezone_at_land()

2.4e-06

415k

TimezoneFinder.timezone_at()

2.1e-06

487k

TimezoneFinder.unique_timezone_at()

6.3e-07

1577k