flow-php / flow

Flow PHP - data processing framework
https://flow-php.com
MIT License
404 stars 23 forks source link

Avoid type casting when it's necessary #1091

Closed norberttech closed 1 month ago

norberttech commented 1 month ago

Change Log

Added

Fixed

  • Avoid type casting when it's necessary in entry factory

Changed

Removed

Deprecated

Security


Description

github-actions[bot] commented 1 month ago

Flow PHP - Benchmarks

Results of the benchmarks from this PR are compared with the results from 1.x branch.

Extractors ```shell +-----------------------+-------------------+------+-----+------------------+-------------------+-----------------+ | benchmark | subject | revs | its | mem_peak | mode | rstdev | +-----------------------+-------------------+------+-----+------------------+-------------------+-----------------+ | AvroExtractorBench | bench_extract_10k | 1 | 3 | 35.449mb +0.02% | 832.981ms +0.25% | ±0.99% -34.31% | | CSVExtractorBench | bench_extract_10k | 1 | 3 | 5.168mb +0.16% | 335.325ms -0.89% | ±0.87% +65.87% | | JsonExtractorBench | bench_extract_10k | 1 | 3 | 5.200mb +0.16% | 1.065s -0.23% | ±0.22% -87.47% | | ParquetExtractorBench | bench_extract_10k | 1 | 3 | 135.872mb +0.01% | 756.029ms -17.23% | ±3.50% +282.59% | | TextExtractorBench | bench_extract_10k | 1 | 3 | 4.958mb +0.16% | 35.588ms -0.42% | ±0.77% -52.70% | | XmlExtractorBench | bench_extract_10k | 1 | 3 | 4.964mb +0.16% | 445.236ms +1.63% | ±2.70% +379.87% | +-----------------------+-------------------+------+-----+------------------+-------------------+-----------------+ ```
Transformers ```shell +-----------------------------+--------------------------+------+-----+------------------+-----------------+----------------+ | benchmark | subject | revs | its | mem_peak | mode | rstdev | +-----------------------------+--------------------------+------+-----+------------------+-----------------+----------------+ | RenameEntryTransformerBench | bench_transform_10k_rows | 1 | 3 | 116.265mb +0.01% | 59.942ms +1.52% | ±0.50% -73.51% | +-----------------------------+--------------------------+------+-----+------------------+-----------------+----------------+ ```
Loaders ```shell +--------------------+----------------+------+-----+------------------+------------------+-----------------+ | benchmark | subject | revs | its | mem_peak | mode | rstdev | +--------------------+----------------+------+-----+------------------+------------------+-----------------+ | AvroLoaderBench | bench_load_10k | 1 | 3 | 96.834mb +0.01% | 454.129ms -1.19% | ±1.32% -18.12% | | CSVLoaderBench | bench_load_10k | 1 | 3 | 55.246mb +0.01% | 68.773ms +0.31% | ±0.39% -47.14% | | JsonLoaderBench | bench_load_10k | 1 | 3 | 107.620mb +0.01% | 51.723ms +1.96% | ±0.34% +33.47% | | ParquetLoaderBench | bench_load_10k | 1 | 3 | 227.039mb +0.00% | 1.416s -0.22% | ±0.88% +154.35% | | TextLoaderBench | bench_load_10k | 1 | 3 | 18.001mb +0.05% | 38.695ms -0.80% | ±0.56% -78.17% | +--------------------+----------------+------+-----+------------------+------------------+-----------------+ ```
Building Blocks ```shell +-------------------------+----------------------------+------+-----+------------------+------------------+-----------------+ | benchmark | subject | revs | its | mem_peak | mode | rstdev | +-------------------------+----------------------------+------+-----+------------------+------------------+-----------------+ | RowsBench | bench_chunk_10_on_10k | 2 | 3 | 87.083mb +0.01% | 3.862ms +14.14% | ±1.42% -42.75% | | RowsBench | bench_diff_left_1k_on_10k | 2 | 3 | 102.681mb +0.01% | 187.476ms -0.77% | ±0.42% -65.70% | | RowsBench | bench_diff_right_1k_on_10k | 2 | 3 | 85.401mb +0.01% | 18.876ms -0.39% | ±0.87% -49.03% | | RowsBench | bench_drop_1k_on_10k | 2 | 3 | 88.323mb +0.01% | 1.962ms +16.70% | ±3.37% +106.70% | | RowsBench | bench_drop_right_1k_on_10k | 2 | 3 | 88.323mb +0.01% | 1.884ms -13.14% | ±3.39% +11.82% | | RowsBench | bench_entries_on_10k | 2 | 3 | 85.435mb +0.01% | 3.196ms +8.45% | ±1.20% +4.39% | | RowsBench | bench_filter_on_10k | 2 | 3 | 85.964mb +0.01% | 18.324ms +1.44% | ±1.40% -54.02% | | RowsBench | bench_find_on_10k | 2 | 3 | 85.964mb +0.01% | 17.736ms -2.32% | ±1.60% -19.98% | | RowsBench | bench_find_one_on_10k | 10 | 3 | 83.868mb +0.01% | 1.894μs +11.81% | ±2.53% -10.71% | | RowsBench | bench_first_on_10k | 10 | 3 | 83.868mb +0.01% | 0.400μs +100.00% | ±0.00% 0.00% | | RowsBench | bench_flat_map_on_1k | 2 | 3 | 93.218mb +0.01% | 12.438ms +0.90% | ±0.83% +279.11% | | RowsBench | bench_map_on_10k | 2 | 3 | 122.589mb +0.01% | 61.195ms +2.49% | ±0.29% -75.99% | | RowsBench | bench_merge_1k_on_10k | 2 | 3 | 86.484mb +0.01% | 1.514ms +14.06% | ±1.34% +140.32% | | RowsBench | bench_partition_by_on_10k | 2 | 3 | 89.831mb +0.01% | 63.601ms -0.34% | ±0.22% -91.91% | | RowsBench | bench_remove_on_10k | 2 | 3 | 88.585mb +0.01% | 4.337ms +4.28% | ±0.56% -70.96% | | RowsBench | bench_sort_asc_on_1k | 2 | 3 | 84.012mb +0.01% | 39.065ms -0.73% | ±0.46% -60.71% | | RowsBench | bench_sort_by_on_1k | 2 | 3 | 84.012mb +0.01% | 39.247ms +1.06% | ±0.41% -29.61% | | RowsBench | bench_sort_desc_on_1k | 2 | 3 | 84.012mb +0.01% | 40.255ms -0.79% | ±1.48% -27.39% | | RowsBench | bench_sort_entries_on_1k | 2 | 3 | 86.309mb +0.01% | 7.426ms -0.16% | ±1.04% -62.44% | | RowsBench | bench_sort_on_1k | 2 | 3 | 83.868mb +0.01% | 28.626ms -2.96% | ±0.13% -92.69% | | RowsBench | bench_take_1k_on_10k | 10 | 3 | 83.868mb +0.01% | 13.318μs -4.04% | ±1.06% +17.90% | | RowsBench | bench_take_right_1k_on_10k | 10 | 3 | 83.868mb +0.01% | 16.200μs -1.74% | ±1.01% -36.12% | | RowsBench | bench_unique_on_1k | 2 | 3 | 102.682mb +0.01% | 191.856ms -1.68% | ±1.23% +238.12% | | NativeEntryFactoryBench | bench_entry_factory | 1 | 3 | 116.813mb +0.01% | 496.632ms +0.56% | ±0.17% -66.43% | | NativeEntryFactoryBench | bench_entry_factory | 1 | 3 | 60.291mb +0.01% | 248.014ms -0.99% | ±1.20% +52.24% | | NativeEntryFactoryBench | bench_entry_factory | 1 | 3 | 15.225mb +0.05% | 53.758ms +1.52% | ±1.08% -26.54% | | TypeDetectorBench | bench_type_detector | 1 | 3 | 59.996mb +0.01% | 426.279ms -1.74% | ±0.46% -83.08% | | TypeDetectorBench | bench_type_detector | 1 | 3 | 14.535mb +0.03% | 84.106ms -0.76% | ±0.61% +477.22% | +-------------------------+----------------------------+------+-----+------------------+------------------+-----------------+ ```