Skip to content

Add new logical StructureType#765

Merged
stloyd merged 2 commits intoflow-php:1.xfrom
stloyd:feature/structure-type
Nov 8, 2023
Merged

Add new logical StructureType#765
stloyd merged 2 commits intoflow-php:1.xfrom
stloyd:feature/structure-type

Conversation

@stloyd
Copy link
Member

@stloyd stloyd commented Nov 7, 2023

Change Log

Added

  • Add new logical `StructureType`

Fixed

Changed

Removed

Deprecated

Security


Description

Based on #763

Closes #752

@github-actions
Copy link
Contributor

github-actions bot commented Nov 7, 2023

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.274mb -0.00%  | 364.676ms -23.26% | ±1.22% -30.41% |
| CSVExtractorBench     | bench_extract_10k | 1    | 3   | 4.833mb +0.03%   | 270.156ms -28.14% | ±0.03% -99.08% |
| JsonExtractorBench    | bench_extract_10k | 1    | 3   | 4.992mb +0.07%   | 587.826ms -12.28% | ±0.28% -88.27% |
| ParquetExtractorBench | bench_extract_10k | 1    | 3   | 233.582mb +0.00% | 777.219ms -32.91% | ±0.29% -86.33% |
| TextExtractorBench    | bench_extract_10k | 1    | 3   | 4.826mb +0.03%   | 18.908ms -16.44%  | ±2.24% +75.93% |
| XmlExtractorBench     | bench_extract_10k | 1    | 3   | 4.827mb +0.03%   | 402.968ms -31.11% | ±1.36% -36.16% |
+-----------------------+-------------------+------+-----+------------------+-------------------+----------------+
Transformers
+-----------------------------+--------------------------+------+-----+-----------------+------------------+----------------+
| benchmark                   | subject                  | revs | its | mem_peak        | mode             | rstdev         |
+-----------------------------+--------------------------+------+-----+-----------------+------------------+----------------+
| RenameEntryTransformerBench | bench_transform_10k_rows | 1    | 3   | 87.093mb +0.00% | 48.887ms -43.18% | ±1.39% -42.14% |
+-----------------------------+--------------------------+------+-----+-----------------+------------------+----------------+
Loaders
+--------------------+----------------+------+-----+------------------+-------------------+----------------+
| benchmark          | subject        | revs | its | mem_peak         | mode              | rstdev         |
+--------------------+----------------+------+-----+------------------+-------------------+----------------+
| AvroLoaderBench    | bench_load_10k | 1    | 3   | 94.465mb +0.00%  | 563.260ms -27.81% | ±0.65% -81.35% |
| CSVLoaderBench     | bench_load_10k | 1    | 3   | 46.110mb +0.00%  | 68.353ms -14.14%  | ±0.42% -46.07% |
| JsonLoaderBench    | bench_load_10k | 1    | 3   | 89.743mb +0.00%  | 61.280ms -27.25%  | ±1.09% -53.87% |
| ParquetLoaderBench | bench_load_10k | 1    | 3   | 285.215mb +0.00% | 1.274s -28.82%    | ±0.54% -75.05% |
| TextLoaderBench    | bench_load_10k | 1    | 3   | 16.603mb +0.01%  | 39.742ms -7.74%   | ±1.38% -29.20% |
+--------------------+----------------+------+-----+------------------+-------------------+----------------+
Building Blocks
+-------------------------+----------------------------+------+-----+-----------------+-------------------+-----------------+
| benchmark               | subject                    | revs | its | mem_peak        | mode              | rstdev          |
+-------------------------+----------------------------+------+-----+-----------------+-------------------+-----------------+
| RowsBench               | bench_chunk_10_on_10k      | 2    | 3   | 60.702mb +0.00% | 2.276ms -45.82%   | ±1.79% +92.92%  |
| RowsBench               | bench_diff_left_1k_on_10k  | 2    | 3   | 80.495mb +0.00% | 151.805ms -20.38% | ±2.95% +30.39%  |
| RowsBench               | bench_diff_right_1k_on_10k | 2    | 3   | 59.021mb +0.00% | 14.974ms -21.65%  | ±0.94% -59.14%  |
| RowsBench               | bench_drop_1k_on_10k       | 2    | 3   | 59.841mb +0.00% | 1.794ms -47.90%   | ±3.26% +101.10% |
| RowsBench               | bench_drop_right_1k_on_10k | 2    | 3   | 59.841mb +0.00% | 1.754ms -52.34%   | ±0.96% +34.47%  |
| RowsBench               | bench_entries_on_10k       | 2    | 3   | 59.055mb +0.00% | 2.591ms -43.59%   | ±1.46% -57.41%  |
| RowsBench               | bench_filter_on_10k        | 2    | 3   | 59.584mb +0.00% | 14.182ms -41.98%  | ±1.03% -36.29%  |
| RowsBench               | bench_find_on_10k          | 2    | 3   | 59.583mb +0.00% | 14.183ms -41.75%  | ±0.13% -94.67%  |
| RowsBench               | bench_find_one_on_10k      | 10   | 3   | 57.654mb +0.00% | 1.806μs -30.54%   | ±2.57% +0.00%   |
| RowsBench               | bench_first_on_10k         | 10   | 3   | 57.654mb +0.00% | 0.400μs 0.00%     | ±0.00% 0.00%    |
| RowsBench               | bench_flat_map_on_1k       | 2    | 3   | 65.888mb +0.00% | 10.385ms -38.03%  | ±0.40% -88.03%  |
| RowsBench               | bench_map_on_10k           | 2    | 3   | 91.407mb +0.00% | 46.899ms -42.38%  | ±1.11% -59.59%  |
| RowsBench               | bench_merge_1k_on_10k      | 2    | 3   | 60.104mb +0.00% | 1.944ms -49.73%   | ±1.50% +56.60%  |
| RowsBench               | bench_partition_by_on_10k  | 2    | 3   | 62.374mb +0.00% | 32.765ms -41.39%  | ±1.87% +4.28%   |
| RowsBench               | bench_remove_on_10k        | 2    | 3   | 62.205mb +0.00% | 4.751ms -47.57%   | ±0.52% -83.40%  |
| RowsBench               | bench_sort_asc_on_1k       | 2    | 3   | 57.654mb +0.00% | 36.787ms -36.01%  | ±0.64% -57.86%  |
| RowsBench               | bench_sort_by_on_1k        | 2    | 3   | 57.654mb +0.00% | 36.759ms -40.36%  | ±1.36% -28.77%  |
| RowsBench               | bench_sort_desc_on_1k      | 2    | 3   | 57.654mb +0.00% | 38.282ms -34.69%  | ±1.77% +71.10%  |
| RowsBench               | bench_sort_entries_on_1k   | 2    | 3   | 59.929mb +0.00% | 7.240ms -39.87%   | ±0.65% -76.64%  |
| RowsBench               | bench_sort_on_1k           | 2    | 3   | 57.654mb +0.00% | 28.065ms -37.86%  | ±0.47% -67.00%  |
| RowsBench               | bench_take_1k_on_10k       | 10   | 3   | 57.654mb +0.00% | 12.700μs -56.48%  | ±0.00% -100.00% |
| RowsBench               | bench_take_right_1k_on_10k | 10   | 3   | 57.654mb +0.00% | 15.430μs -59.97%  | ±1.51% -56.77%  |
| RowsBench               | bench_unique_on_1k         | 2    | 3   | 80.495mb +0.00% | 157.468ms -26.99% | ±0.18% -89.63%  |
| NativeEntryFactoryBench | bench_entry_factory        | 1    | 3   | 92.906mb -0.00% | 121.018ms -38.76% | ±0.47% -54.12%  |
| NativeEntryFactoryBench | bench_entry_factory        | 1    | 3   | 48.223mb -0.02% | 59.951ms -41.77%  | ±2.70% +57.22%  |
| NativeEntryFactoryBench | bench_entry_factory        | 1    | 3   | 12.553mb +0.08% | 14.215ms -37.03%  | ±0.47% -83.17%  |
+-------------------------+----------------------------+------+-----+-----------------+-------------------+-----------------+

@stloyd stloyd force-pushed the feature/structure-type branch from 9b99739 to d99dac7 Compare November 8, 2023 10:26
@stloyd stloyd marked this pull request as ready for review November 8, 2023 10:26
@stloyd stloyd merged commit 455dc66 into flow-php:1.x Nov 8, 2023
@stloyd stloyd deleted the feature/structure-type branch November 8, 2023 10:35
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.

New logical type StructureType

2 participants