Skip to content

Conversation

@norberttech
Copy link
Member

Change Log

Added

  • extra validation for column in parquet rows

Fixed

  • parquet bug when writing/reading nullable list of structs

Changed

Removed

Deprecated

Security


Description

@github-actions
Copy link
Contributor

github-actions bot commented Jan 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.142mb +0.00%  | 751.837ms -0.80% | ±0.59% -51.35%  |
| CSVExtractorBench     | bench_extract_10k | 1    | 3   | 4.779mb +0.00%   | 343.154ms -0.76% | ±2.42% +91.01%  |
| JsonExtractorBench    | bench_extract_10k | 1    | 3   | 4.871mb +0.00%   | 975.032ms -0.27% | ±0.31% -65.22%  |
| ParquetExtractorBench | bench_extract_10k | 1    | 3   | 239.575mb +0.00% | 1.140s -1.01%    | ±0.89% +800.15% |
| TextExtractorBench    | bench_extract_10k | 1    | 3   | 4.654mb +0.00%   | 57.468ms -2.89%  | ±0.77% -67.51%  |
| XmlExtractorBench     | bench_extract_10k | 1    | 3   | 4.655mb +0.00%   | 462.195ms -0.38% | ±0.25% -58.39%  |
+-----------------------+-------------------+------+-----+------------------+------------------+-----------------+
Transformers
+-----------------------------+--------------------------+------+-----+------------------+-----------------+-----------------+
| benchmark                   | subject                  | revs | its | mem_peak         | mode            | rstdev          |
+-----------------------------+--------------------------+------+-----+------------------+-----------------+-----------------+
| RenameEntryTransformerBench | bench_transform_10k_rows | 1    | 3   | 110.368mb +0.00% | 63.867ms -0.94% | ±1.76% +795.08% |
+-----------------------------+--------------------------+------+-----+------------------+-----------------+-----------------+
Loaders
+--------------------+----------------+------+-----+------------------+------------------+-----------------+
| benchmark          | subject        | revs | its | mem_peak         | mode             | rstdev          |
+--------------------+----------------+------+-----+------------------+------------------+-----------------+
| AvroLoaderBench    | bench_load_10k | 1    | 3   | 94.733mb +0.00%  | 452.279ms -1.76% | ±0.30% -44.28%  |
| CSVLoaderBench     | bench_load_10k | 1    | 3   | 54.817mb +0.00%  | 71.360ms -2.79%  | ±0.65% +186.71% |
| JsonLoaderBench    | bench_load_10k | 1    | 3   | 105.326mb +0.00% | 55.088ms -3.81%  | ±0.42% -40.65%  |
| ParquetLoaderBench | bench_load_10k | 1    | 3   | 320.537mb +0.00% | 1.249s -1.16%    | ±0.47% +290.04% |
| TextLoaderBench    | bench_load_10k | 1    | 3   | 17.698mb +0.00%  | 40.238ms -3.40%  | ±0.77% +146.77% |
+--------------------+----------------+------+-----+------------------+------------------+-----------------+
Building Blocks
+-------------------------+----------------------------+------+-----+------------------+------------------+-----------------+
| benchmark               | subject                    | revs | its | mem_peak         | mode             | rstdev          |
+-------------------------+----------------------------+------+-----+------------------+------------------+-----------------+
| NativeEntryFactoryBench | bench_entry_factory        | 1    | 3   | 115.993mb +0.00% | 390.813ms -2.47% | ±1.66% +58.48%  |
| NativeEntryFactoryBench | bench_entry_factory        | 1    | 3   | 59.712mb +0.00%  | 195.697ms -2.13% | ±1.65% +166.04% |
| NativeEntryFactoryBench | bench_entry_factory        | 1    | 3   | 14.836mb +0.00%  | 40.253ms -1.98%  | ±0.84% +22.70%  |
| TypeDetectorBench       | bench_type_detector        | 1    | 3   | 59.397mb +0.00%  | 327.912ms -0.78% | ±0.91% +133.41% |
| TypeDetectorBench       | bench_type_detector        | 1    | 3   | 14.321mb +0.00%  | 65.162ms +0.04%  | ±0.06% -88.95%  |
| RowsBench               | bench_chunk_10_on_10k      | 2    | 3   | 76.456mb +0.00%  | 3.838ms -3.24%   | ±0.39% -83.47%  |
| RowsBench               | bench_diff_left_1k_on_10k  | 2    | 3   | 96.249mb +0.00%  | 186.017ms +1.71% | ±1.15% +150.16% |
| RowsBench               | bench_diff_right_1k_on_10k | 2    | 3   | 74.774mb +0.00%  | 18.558ms +0.02%  | ±1.10% +40.24%  |
| RowsBench               | bench_drop_1k_on_10k       | 2    | 3   | 77.696mb +0.00%  | 1.695ms +7.81%   | ±3.18% -9.50%   |
| RowsBench               | bench_drop_right_1k_on_10k | 2    | 3   | 77.696mb +0.00%  | 1.824ms -1.02%   | ±0.95% -41.29%  |
| RowsBench               | bench_entries_on_10k       | 2    | 3   | 74.808mb +0.00%  | 2.845ms +4.02%   | ±1.68% +100.69% |
| RowsBench               | bench_filter_on_10k        | 2    | 3   | 75.337mb +0.00%  | 14.620ms -1.25%  | ±0.84% -44.77%  |
| RowsBench               | bench_find_on_10k          | 2    | 3   | 75.337mb +0.00%  | 14.766ms -1.08%  | ±1.38% -10.03%  |
| RowsBench               | bench_find_one_on_10k      | 10   | 3   | 73.240mb +0.00%  | 1.606μs -11.07%  | ±2.89% +12.24%  |
| RowsBench               | bench_first_on_10k         | 10   | 3   | 73.240mb +0.00%  | 0.200μs -50.00%  | ±0.00% 0.00%    |
| RowsBench               | bench_flat_map_on_1k       | 2    | 3   | 86.798mb +0.00%  | 12.648ms -3.49%  | ±0.75% -55.46%  |
| RowsBench               | bench_map_on_10k           | 2    | 3   | 116.156mb +0.00% | 63.861ms -1.26%  | ±1.12% -7.32%   |
| RowsBench               | bench_merge_1k_on_10k      | 2    | 3   | 75.857mb +0.00%  | 1.244ms -10.97%  | ±3.53% +22.43%  |
| RowsBench               | bench_partition_by_on_10k  | 2    | 3   | 79.203mb +0.00%  | 58.416ms -0.30%  | ±0.11% -92.13%  |
| RowsBench               | bench_remove_on_10k        | 2    | 3   | 77.958mb +0.00%  | 3.755ms -4.45%   | ±1.82% +132.76% |
| RowsBench               | bench_sort_asc_on_1k       | 2    | 3   | 73.385mb +0.00%  | 40.043ms -0.38%  | ±0.56% +38.85%  |
| RowsBench               | bench_sort_by_on_1k        | 2    | 3   | 73.386mb +0.00%  | 40.226ms -0.42%  | ±0.96% +13.44%  |
| RowsBench               | bench_sort_desc_on_1k      | 2    | 3   | 73.385mb +0.00%  | 40.628ms -0.05%  | ±0.28% -83.51%  |
| RowsBench               | bench_sort_entries_on_1k   | 2    | 3   | 75.682mb +0.00%  | 7.331ms -0.81%   | ±1.59% +23.51%  |
| RowsBench               | bench_sort_on_1k           | 2    | 3   | 73.240mb +0.00%  | 28.686ms -1.51%  | ±1.13% +119.25% |
| RowsBench               | bench_take_1k_on_10k       | 10   | 3   | 73.240mb +0.00%  | 13.770μs +0.46%  | ±1.73% +403.67% |
| RowsBench               | bench_take_right_1k_on_10k | 10   | 3   | 73.240mb +0.00%  | 15.806μs -3.25%  | ±0.30% -86.87%  |
| RowsBench               | bench_unique_on_1k         | 2    | 3   | 96.250mb +0.00%  | 189.164ms +1.48% | ±0.70% -17.64%  |
+-------------------------+----------------------------+------+-----+------------------+------------------+-----------------+

@norberttech norberttech merged commit 4fb31dc into flow-php:1.x Jan 1, 2024
@norberttech norberttech deleted the bug/parquet-nullable-list-of-structs branch December 5, 2024 20:21
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