TimezoneFinder Initialization 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 Runs Per Configuration: 100

Algorithm Type: Class Initialization

Test Configurations: TimezoneFinder and TimezoneFinderL with file-based and in-memory modes

Initialization Performance Results

Configuration

Average Time (ms)

Average Time (s)

TimezoneFinder (File-Based)

212.2

0.212

TimezoneFinder (In-Memory)

218.9

0.219

TimezoneFinderL (File-Based)

206.6

0.207

TimezoneFinderL (In-Memory)

209.5

0.209

Performance Analysis

  • Fastest configuration: TimezoneFinderL (File-Based) (206.6 ms)

  • Slowest configuration: TimezoneFinder (In-Memory) (218.9 ms)

  • Performance difference: 6% faster

  • File-based mode is 2% faster (209.4 ms vs 214.2 ms)

Note

Initialization times may vary based on system I/O performance, available memory, and background system activity. In-memory mode loads all data into RAM during initialization, while file-based mode opens files but defers data loading.