-
-
Notifications
You must be signed in to change notification settings - Fork 48
Feature/filesystem windows support #1855
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## 1.x #1855 +/- ##
==========================================
+ Coverage 82.41% 82.47% +0.05%
==========================================
Files 770 772 +2
Lines 21487 21785 +298
==========================================
+ Hits 17709 17967 +258
- Misses 3778 3818 +40
🚀 New features to boost your workflow:
|
Flow PHP - BenchmarksResults of the benchmarks from this PR are compared with the results from 1.x branch. Extractors+-----------------------+------------------------+------+-----+-----------------+------------------+-----------------+
| benchmark | subject | revs | its | mem_peak | mode | rstdev |
+-----------------------+------------------------+------+-----+-----------------+------------------+-----------------+
| CSVExtractorBench | bench_extract_10k | 1 | 3 | 4.936mb +0.38% | 433.253ms +0.16% | ±0.40% -46.83% |
| ExcelExtractorBench | bench_extract_10k_ods | 1 | 3 | 65.632mb +0.88% | 1.090s +2.38% | ±1.24% +193.46% |
| ExcelExtractorBench | bench_extract_10k_xlsx | 1 | 3 | 67.743mb +0.85% | 1.724s +2.01% | ±0.21% -83.02% |
| JsonExtractorBench | bench_extract_10k | 1 | 3 | 5.482mb +0.20% | 1.163s +0.99% | ±0.28% -74.27% |
| ParquetExtractorBench | bench_extract_10k | 1 | 3 | 10.760mb +0.00% | 9.593s -16.65% | ±0.45% +59.09% |
| TextExtractorBench | bench_extract_10k | 1 | 3 | 4.662mb +0.40% | 61.616ms +47.13% | ±0.78% +202.15% |
| XmlExtractorBench | bench_extract_10k | 1 | 3 | 4.645mb +0.41% | 632.262ms +5.48% | ±0.15% -85.59% |
+-----------------------+------------------------+------+-----+-----------------+------------------+-----------------+
Transformers+---------------------------------+--------------------------+------+-----+------------------+-----------------+-----------------+
| benchmark | subject | revs | its | mem_peak | mode | rstdev |
+---------------------------------+--------------------------+------+-----+------------------+-----------------+-----------------+
| RenameEachEntryTransformerBench | bench_transform_10k_rows | 1 | 3 | 18.656mb +0.16% | 74.009ms -0.22% | ±1.05% +205.46% |
| RenameEntryTransformerBench | bench_transform_10k_rows | 1 | 3 | 123.459mb +0.02% | 66.882ms -2.13% | ±1.01% -10.11% |
+---------------------------------+--------------------------+------+-----+------------------+-----------------+-----------------+
Loaders+--------------------+----------------+------+-----+------------------+------------------+------------------+
| benchmark | subject | revs | its | mem_peak | mode | rstdev |
+--------------------+----------------+------+-----+------------------+------------------+------------------+
| CSVLoaderBench | bench_load_10k | 1 | 3 | 62.597mb +0.29% | 90.407ms +6.59% | ±1.05% +7451.63% |
| JsonLoaderBench | bench_load_10k | 1 | 3 | 80.682mb +0.02% | 102.247ms -0.78% | ±0.83% -13.17% |
| ParquetLoaderBench | bench_load_10k | 1 | 3 | 819.363mb +0.05% | 20.313s -25.72% | ±0.73% +14.55% |
| TextLoaderBench | bench_load_10k | 1 | 3 | 17.962mb +0.11% | 34.228ms +12.27% | ±0.50% +83.21% |
+--------------------+----------------+------+-----+------------------+------------------+------------------+
Building Blocks+-------------------+----------------------------+------+-----+------------------+------------------+-----------------+
| benchmark | subject | revs | its | mem_peak | mode | rstdev |
+-------------------+----------------------------+------+-----+------------------+------------------+-----------------+
| TypeDetectorBench | bench_type_detector | 1 | 3 | 42.601mb +0.01% | 404.765ms -1.30% | ±0.55% +54.99% |
| TypeDetectorBench | bench_type_detector | 1 | 3 | 11.659mb +0.05% | 82.144ms -1.86% | ±0.68% +8.29% |
| EntryFactoryBench | bench_entry_factory | 1 | 3 | 106.079mb +0.01% | 655.699ms -0.00% | ±0.82% +136.53% |
| EntryFactoryBench | bench_entry_factory | 1 | 3 | 55.356mb +0.01% | 331.547ms -0.12% | ±0.91% -72.29% |
| EntryFactoryBench | bench_entry_factory | 1 | 3 | 14.942mb +0.04% | 71.343ms +0.86% | ±0.27% -19.91% |
| RowsBench | bench_chunk_10_on_10k | 2 | 3 | 93.546mb +0.01% | 4.239ms +22.33% | ±2.74% +145.37% |
| RowsBench | bench_diff_left_1k_on_10k | 2 | 3 | 110.936mb +0.00% | 238.019ms -0.08% | ±0.12% -77.68% |
| RowsBench | bench_diff_right_1k_on_10k | 2 | 3 | 93.656mb +0.01% | 24.165ms +0.01% | ±0.86% -34.83% |
| RowsBench | bench_drop_1k_on_10k | 2 | 3 | 94.421mb +0.01% | 1.885ms +3.83% | ±1.29% -55.51% |
| RowsBench | bench_drop_right_1k_on_10k | 2 | 3 | 94.421mb +0.01% | 1.770ms -3.67% | ±3.23% +34.38% |
| RowsBench | bench_entries_on_10k | 2 | 3 | 92.582mb +0.01% | 3.796ms -2.71% | ±1.66% -15.92% |
| RowsBench | bench_filter_on_10k | 2 | 3 | 93.111mb +0.01% | 16.106ms -1.17% | ±0.98% -16.02% |
| RowsBench | bench_find_on_10k | 2 | 3 | 93.111mb +0.01% | 16.217ms -0.20% | ±1.83% +25.20% |
| RowsBench | bench_find_one_on_10k | 10 | 3 | 91.800mb +0.01% | 2.094μs +4.38% | ±2.28% -1.61% |
| RowsBench | bench_first_on_10k | 10 | 3 | 91.800mb +0.01% | 0.400μs 0.00% | ±0.00% 0.00% |
| RowsBench | bench_flat_map_on_1k | 2 | 3 | 100.860mb +0.01% | 15.887ms -1.17% | ±0.40% -86.03% |
| RowsBench | bench_map_on_10k | 2 | 3 | 130.287mb +0.00% | 71.676ms +1.06% | ±1.44% +18.00% |
| RowsBench | bench_merge_1k_on_10k | 2 | 3 | 93.631mb +0.01% | 1.616ms -13.27% | ±0.93% +214.36% |
| RowsBench | bench_partition_by_on_10k | 2 | 3 | 97.019mb +0.01% | 62.412ms -0.91% | ±1.26% +120.92% |
| RowsBench | bench_remove_on_10k | 2 | 3 | 94.683mb +0.01% | 3.713ms -14.40% | ±1.84% +0.38% |
| RowsBench | bench_sort_asc_on_1k | 2 | 3 | 92.180mb +0.01% | 39.976ms -2.26% | ±0.37% -73.38% |
| RowsBench | bench_sort_by_on_1k | 2 | 3 | 92.181mb +0.01% | 39.800ms -4.07% | ±0.22% -78.97% |
| RowsBench | bench_sort_desc_on_1k | 2 | 3 | 92.180mb +0.01% | 39.847ms -3.22% | ±0.14% -93.28% |
| RowsBench | bench_sort_entries_on_1k | 2 | 3 | 94.243mb +0.01% | 7.953ms -4.44% | ±1.58% +161.38% |
| RowsBench | bench_sort_on_1k | 2 | 3 | 91.993mb +0.01% | 29.355ms +1.02% | ±0.89% -26.92% |
| RowsBench | bench_take_1k_on_10k | 10 | 3 | 91.800mb +0.01% | 14.259μs -6.66% | ±1.74% +39.65% |
| RowsBench | bench_take_right_1k_on_10k | 10 | 3 | 91.800mb +0.01% | 16.888μs -3.86% | ±0.56% -51.94% |
| RowsBench | bench_unique_on_1k | 2 | 3 | 110.937mb +0.00% | 240.407ms -0.73% | ±0.58% +20.59% |
+-------------------+----------------------------+------+-----+------------------+------------------+-----------------+
Parquet Library+--------------------+---------------------------------+------+-----+------------------+-------------------+-----------------+
| benchmark | subject | revs | its | mem_peak | mode | rstdev |
+--------------------+---------------------------------+------+-----+------------------+-------------------+-----------------+
| ParquetReaderBench | bench_page_headers | 1 | 3 | 6.958mb +0.43% | 3.303s -0.68% | ±0.09% -79.33% |
| ParquetReaderBench | bench_read_metadata | 1 | 3 | 5.413mb +0.55% | 18.320ms +0.67% | ±0.34% -58.69% |
| ParquetReaderBench | bench_read_schema | 1 | 3 | 5.413mb +0.55% | 19.663ms +6.08% | ±3.27% +501.50% |
| ParquetReaderBench | bench_read_values_all_columns | 1 | 3 | 9.163mb +0.84% | 5.676s -28.04% | ±0.61% -18.06% |
| ParquetReaderBench | bench_read_values_single_column | 1 | 3 | 6.460mb +0.17% | 233.858ms -48.72% | ±0.85% +106.21% |
| ParquetReaderBench | bench_read_values_with_limit | 1 | 3 | 6.991mb -0.02% | 29.028ms -14.10% | ±0.01% -71.41% |
| ParquetWriterBench | bench_write_batch | 1 | 3 | 11.781mb -14.06% | 193.335ms -13.75% | ±0.12% -86.33% |
| ParquetWriterBench | bench_write_gzip | 1 | 3 | 10.406mb +0.94% | 220.034ms +0.06% | ±0.57% -39.84% |
| ParquetWriterBench | bench_write_row_by_row | 1 | 3 | 11.781mb -14.06% | 192.806ms -13.74% | ±0.81% +23.65% |
| ParquetWriterBench | bench_write_snappy | 1 | 3 | 11.781mb -14.06% | 192.832ms -14.05% | ±0.62% -36.03% |
| ParquetWriterBench | bench_write_uncompressed | 1 | 3 | 10.081mb +0.43% | 192.772ms +1.15% | ±0.67% +2.29% |
+--------------------+---------------------------------+------+-----+------------------+-------------------+-----------------+
|
86941bb to
e3e2331
Compare
e3e2331 to
6fb7fbd
Compare
|
Next step is to identify all OS specific tests and either try to make them OS agnostic (if possible) or simply duplicate them and mark as skipped on incompatible OS. |
bad80f5 to
d17b3aa
Compare
Change Log
Added
Fixed
Changed
Removed
Deprecated
Security
Description
Resolves: #1335
Resolves: #1733
Replaces: #1250
This is an experimental PR addressing issue raised in #1250
It seems that the biggest issue is how Flow Filesystem components is handling paths on Windows FS.
The idea behind this PR is to turn Path class into a Facade that will detect OS and use one of more specific implementations:
Keeping API exactly the same as it was before.