Amos Bird
fbfbe161ec
Unify hash tables interface.
2019-11-06 00:08:04 +08:00
Alexander Kuzmenkov
f3bde19b74
Do not use iterators in find() and emplace() methods of hash tables.
...
Instead, these methods return a pointer to the required data as they are
stored inside the hash table. The caller uses overloaded functions to
get the key and "mapped" values from this pointer. Such an interface
avoids the need for constructing iterator-like wrapper objects, which is
especially important for compound hash tables such as the future
StringHashMap.
2019-09-24 17:44:35 +03:00
Amos Bird
26ab5dd7a7
A Proper lookup table that uses HashTable's API
...
This is the first step of allowing heterogeneous cells in hash tables.
performance test results are
```
1. HashMap<UInt16, UInt8, TrivialHash, HashTableFixedGrower<16>>;
2. NewLookupMap<UInt16, UInt8>
ResolutionWidth 30000 1 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................223550276.46
ResolutionWidth 30000 2 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................248772721.24
Best: 2 - 24877272124
ResolutionWidth 100000 1 ..........................................................................................................................................................................................................................................................238498413.99
ResolutionWidth 100000 2 ..........................................................................................................................................................................................................................................................261808889.98
Best: 2 - 26180888998
ResolutionWidth 300000 1 ...................................................................................239307348.81
ResolutionWidth 300000 2 ...................................................................................257592761.30
Best: 2 - 25759276130
ResolutionWidth 1000000 1 .........................240144759.26
ResolutionWidth 1000000 2 .........................257093531.91
Best: 2 - 25709353191
ResolutionWidth 5000000 1 .....241573260.35
ResolutionWidth 5000000 2 .....259314162.79
Best: 2 - 25931416279
ResolutionDepth 30000 1 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................217108119.84
ResolutionDepth 30000 2 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................249459504.41
Best: 2 - 24945950441
ResolutionDepth 100000 1 ..........................................................................................................................................................................................................................................................229065162.17
ResolutionDepth 100000 2 ..........................................................................................................................................................................................................................................................253769105.64
Best: 2 - 25376910564
ResolutionDepth 300000 1 ...................................................................................233079225.18
ResolutionDepth 300000 2 ...................................................................................256316273.78
Best: 2 - 25631627378
ResolutionDepth 1000000 1 .........................234184633.51
ResolutionDepth 1000000 2 .........................261100491.57
Best: 2 - 26110049157
ResolutionDepth 5000000 1 .....233118795.66
ResolutionDepth 5000000 2 .....252436160.41
Best: 2 - 25243616041
```
2019-03-01 16:47:13 +08:00
Alexey Milovidov
fc27be314b
Avoid temporary nullptr references [#CLICKHOUSE-2]
2018-09-02 06:00:04 +03:00
Alexey Milovidov
042d84e1e3
Enabling -Wshadow [#CLICKHOUSE-2]
2018-08-26 05:17:18 +03:00
Alexey Milovidov
1a6cb2989b
Better [#CLICKHOUSE-2].
2017-12-01 21:36:55 +03:00
Alexey Milovidov
310736cd7e
Moved headers and sources to same place [#CLICKHOUSE-3].
2017-04-01 12:22:42 +03:00
Alexey Milovidov
137ad95929
Changed tabs to spaces in code [#CLICKHOUSE-3].
2017-04-01 11:35:09 +03:00
Alexey Milovidov
4f44445ff0
Removed all trailing whitespaces [#CLICKHOUSE-2]. find . -name '*.h' -or -name '*.cpp' -or -name '*.cmake' -or -name 'CMakeLists.txt' -or -name '*.html' -or -name '*.xml' | grep -v contrib | xargs sed -i -r -e 's/\s+$//'
2017-03-31 19:00:30 +03:00
Alexey Milovidov
4c7eb03b63
Using std::shared_ptr for data types [#METR-21503].
2016-05-28 13:35:44 +03:00
Alexey Milovidov
4a061b97cb
Moved file [#METR-17973].
2015-10-05 03:44:40 +03:00
Alexey Milovidov
8232983714
dbms: unified hash tables: development [#METR-2944].
2014-04-28 05:48:24 +04:00
Pavel Kartavyy
e060784ecc
fixed build
2014-03-26 18:45:50 +04:00
Pavel Kartavyy
4042069b3e
fixed build
2014-03-26 18:08:00 +04:00
Alexey Milovidov
fe0dd1d0b2
dbms: improvement [#CONV-2944].
2013-06-21 20:34:19 +00:00
Alexey Milovidov
f8c17efe81
dbms: modified test [#CONV-2944].
2013-02-01 18:56:09 +00:00
Alexey Milovidov
af42c9a5cc
dbms: tiny modification of AutoArray; updated test for AutoArray [#CONV-2944].
2013-01-09 12:06:21 +00:00
Alexey Milovidov
f34cc1e38d
dbms: updated test [#CONV-2944].
2013-01-09 11:27:29 +00:00
Alexey Milovidov
f800b5b769
dbms: using special array for Row and instead of std::vector<AggregateFunctionPlainPtrs> (experimental) [#CONV-2944].
2013-01-07 00:57:43 +00:00