TimezoneFinder Initialization 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 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)

380.2

0.380

TimezoneFinder (In-Memory)

401.4

0.401

TimezoneFinderL (File-Based)

379.3

0.379

TimezoneFinderL (In-Memory)

390.5

0.390

Performance Analysis

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

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

  • Performance difference: 6% faster

  • File-based mode is 4% faster (379.8 ms vs 395.9 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.