Comments (7)
DuckDB has a custom LIKE implementation not using regular expressions: https://github.com/duckdb/duckdb/blob/master/src/function/scalar/string/like.cpp
DuckDB folks considered switching to RE2, but found that RE2 is 2-4x slower: duckdb/duckdb#157
Same for OmniSciDB: https://github.com/omnisci/omniscidb/blob/master/Utils/StringLike.cpp#L94
CC: @biswapesh @spershin @amitkdutta
from velox.
Masha and I discussed this last week. We concluded that the current re2 based implementation is sufficient for the purpose of tpch coverage. There will be subsequent work when optimizing tpch queries.
from velox.
More changes are needed in presto_cpp for the e2e TPC-H query.
from velox.
https://github.com/facebookexternal/presto_cpp/pull/537 for presto_cpp changes
from velox.
@aditi-pandit Aditi, have you had a chance to check performance of LIKE to see if we need to special case starts-with, ends-with and contains expressions. E.g. can we check whether RE2 is already optimized for foo%, %bar and %foo% patterns and if not provide non-regexp implementation for such patterns.
CC: @kgpai @spershin @tanjialiang
from velox.
Seems this is already done. Shall we close the issue? @aditi-pandit
from velox.
@yingsu00 : I have not spent much time benchmarking the like operator. But I will open a separate issue for it and close this one.
Opened issue #872
from velox.
Related Issues (20)
- Make LZO compression support optional
- Mismatch of chi_squared_cdf() result from Presto Java (within epsilon) HOT 4
- Result mismatch of url_extract_fragment between Presto and Velox HOT 1
- Result mismatch of url_extract_path between Presto and Velox HOT 1
- json_array_length: Velox throws while Presto returns NULL HOT 2
- poisson_cdf supports more signatures in Velox than in Presto HOT 4
- array_min: Presto throws while Velox doesn't
- Support fast path for ascii input of Spark mask function
- CI Code Format checking failed HOT 7
- array_intersect: Presto and Velox return arrays with different orders of elements
- concat: Presto throws while Velox doesn't HOT 2
- find_first: Presto function has default null behavior while Velox function doesn't
- [CMake] build velox as static library HOT 1
- IN: Presto and Velox return different results
- map_subset: Presto throws while Velox doesn't
- url_extract_host: Presto and Velox return different results
- url_extract_protocol: Presto and Velox return different results
- array_position: Presto throws while Velox doesn't
- Add lt, lte, gt, gte, neq, between for UUID type HOT 2
- Add UUID to Varbinary casting
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from velox.