Skip to content

Conversation

@norberttech
Copy link
Member

Change Log

Added

Fixed

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

Changed

Removed

Deprecated

Security


Description

@github-actions
Copy link
Contributor

github-actions bot commented Jun 1, 2024

Flow PHP - Benchmarks

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

Extractors
+-----------------------+-------------------+------+-----+------------------+-------------------+-----------------+
| 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
+-----------------------------+--------------------------+------+-----+------------------+-----------------+----------------+
| 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
+--------------------+----------------+------+-----+------------------+------------------+-----------------+
| 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
+-------------------------+----------------------------+------+-----+------------------+------------------+-----------------+
| 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% |
+-------------------------+----------------------------+------+-----+------------------+------------------+-----------------+

@norberttech norberttech merged commit 0c8e86e into flow-php:1.x Jun 1, 2024
@norberttech norberttech deleted the feature/entry-factory-performance branch December 5, 2024 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant