enso/std-bits
Radosław Waśko 1b8b30a68d
Improve performance of Join_Condition.Between by sorting on one dimension (#8212)
- Closes #5303
- Refactors `JoinStrategy` allowing us to 'stack' join strategies on top of each other (to some extent) - currently a `HashJoin` can be followed by another join strategy (currently `SortJoin`)
- Adds benchmarks for join
- Due to limitations of the sorting approach this will still not be as fast as possible for cases where there is more than 1 `Between` condition in a single query - trying to demonstrate that in benchmarks.
- We can replace sorting by d-dimensional [RangeTrees](https://en.wikipedia.org/wiki/Range_tree) to get `O((n + m) log^d n + k)` performance (where `n` and `m` are sizes of joined tables, `d` is the amount of `Between` conditions used in the query and `k` is the result set size).
- Follow up ticket for consideration later:
#8216
- Closes #8215
- After all, it turned out that `TreeSet` was problematic (because of not enough flexibility with duplicate key handling), so the simplest solution was to immediately implement this sub-task.
- Closes #8204
- Unrelated, but I ran into this here: adds type checks to other arguments of `set`.
- Before, putting in a Column as `new_name` (i.e. mistakenly messing up the order of arguments), lead to a hard to understand `Method `if_then_else` of type Column could not be found.`, instead now it would file with type error 'expected Text got Column`.
2023-11-08 12:59:55 +00:00
..
aws/src/main/java/org/enso/aws S3 Read Access, Input Stream based reading (#7776) 2023-09-20 15:09:11 +00:00
base/src/main/java/org/enso/base Overhaul the random number and item generation code (#8127) 2023-10-31 15:25:37 +00:00
benchmarks/src/bench/java/org/enso/benchmarks/libs Invoke all Enso benchmarks via JMH (#7101) 2023-08-07 12:39:01 +00:00
database/src/main/java/org/enso/database Test and improve handling of Date_Time with_timezone=False in Postgres (#8114) 2023-10-21 21:35:13 +00:00
google-api Google Spreadsheet Reading (#1976) 2021-09-03 21:41:12 +02:00
image/src/main/java/org/enso/image Add safepoints to standard libraries Java polyglot helpers (#7183) 2023-07-05 14:12:13 +00:00
table/src/main Improve performance of Join_Condition.Between by sorting on one dimension (#8212) 2023-11-08 12:59:55 +00:00