Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2dot5
ClickHouse
提交
df8e3fa9
C
ClickHouse
项目概览
2dot5
/
ClickHouse
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
ClickHouse
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
df8e3fa9
编写于
3月 05, 2015
作者:
A
Alexey Milovidov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
dbms: added old modifications to tests [#METR-2944].
上级
577a7d10
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
76 addition
and
19 deletion
+76
-19
dbms/src/Common/tests/int_hashes_perf.cpp
dbms/src/Common/tests/int_hashes_perf.cpp
+30
-13
dbms/src/Interpreters/tests/hash_map.cpp
dbms/src/Interpreters/tests/hash_map.cpp
+45
-5
dbms/src/Interpreters/tests/hash_map_string_2.cpp
dbms/src/Interpreters/tests/hash_map_string_2.cpp
+1
-1
未找到文件。
dbms/src/Common/tests/int_hashes_perf.cpp
浏览文件 @
df8e3fa9
此差异已折叠。
点击以展开。
dbms/src/Interpreters/tests/hash_map.cpp
浏览文件 @
df8e3fa9
...
...
@@ -63,6 +63,16 @@ struct AlternativeHash
}
};
struct
CRC32Hash_
{
size_t
operator
()
(
UInt64
x
)
const
{
UInt64
crc
=
-
1ULL
;
asm
(
"crc32q %[x], %[crc]
\n
"
:
[
crc
]
"+r"
(
crc
)
:
[
x
]
"rm"
(
x
));
return
crc
;
}
};
int
main
(
int
argc
,
char
**
argv
)
{
...
...
@@ -81,7 +91,7 @@ int main(int argc, char ** argv)
DB
::
DataTypes
data_types_empty
;
DB
::
DataTypes
data_types_uint64
;
data_types_uint64
.
push_back
(
new
DB
::
DataTypeUInt64
);
std
::
vector
<
Key
>
data
(
n
);
Value
value
;
...
...
@@ -181,7 +191,7 @@ int main(int argc, char ** argv)
watch
.
stop
();
std
::
cerr
<<
std
::
fixed
<<
std
::
setprecision
(
2
)
<<
"HashMap. Size: "
<<
map
.
size
()
<<
"HashMap
, AlternativeHash
. Size: "
<<
map
.
size
()
<<
", elapsed: "
<<
watch
.
elapsedSeconds
()
<<
" ("
<<
n
/
watch
.
elapsedSeconds
()
<<
" elem/sec.)"
#ifdef DBMS_HASH_MAP_COUNT_COLLISIONS
...
...
@@ -194,6 +204,36 @@ int main(int argc, char ** argv)
{
Stopwatch
watch
;
typedef
HashMap
<
Key
,
Value
,
CRC32Hash_
>
Map
;
Map
map
;
Map
::
iterator
it
;
bool
inserted
;
for
(
size_t
i
=
0
;
i
<
n
;
++
i
)
{
map
.
emplace
(
data
[
i
],
it
,
inserted
);
if
(
inserted
)
{
new
(
&
it
->
second
)
Value
(
std
::
move
(
value
));
INIT
;
}
}
watch
.
stop
();
std
::
cerr
<<
std
::
fixed
<<
std
::
setprecision
(
2
)
<<
"HashMap, CRC32Hash. Size: "
<<
map
.
size
()
<<
", elapsed: "
<<
watch
.
elapsedSeconds
()
<<
" ("
<<
n
/
watch
.
elapsedSeconds
()
<<
" elem/sec.)"
#ifdef DBMS_HASH_MAP_COUNT_COLLISIONS
<<
", collisions: "
<<
map
.
getCollisions
()
#endif
<<
std
::
endl
;
}
if
(
argc
<
3
||
atoi
(
argv
[
2
])
==
4
)
{
Stopwatch
watch
;
std
::
unordered_map
<
Key
,
Value
,
DefaultHash
<
Key
>
>
map
;
std
::
unordered_map
<
Key
,
Value
,
DefaultHash
<
Key
>
>::
iterator
it
;
for
(
size_t
i
=
0
;
i
<
n
;
++
i
)
...
...
@@ -210,7 +250,7 @@ int main(int argc, char ** argv)
<<
std
::
endl
;
}
if
(
argc
<
3
||
atoi
(
argv
[
2
])
==
4
)
if
(
argc
<
3
||
atoi
(
argv
[
2
])
==
5
)
{
Stopwatch
watch
;
...
...
@@ -231,7 +271,7 @@ int main(int argc, char ** argv)
<<
std
::
endl
;
}
if
(
argc
<
3
||
atoi
(
argv
[
2
])
==
5
)
if
(
argc
<
3
||
atoi
(
argv
[
2
])
==
6
)
{
Stopwatch
watch
;
...
...
@@ -250,6 +290,6 @@ int main(int argc, char ** argv)
<<
" ("
<<
n
/
watch
.
elapsedSeconds
()
<<
" elem/sec.)"
<<
std
::
endl
;
}
return
0
;
}
dbms/src/Interpreters/tests/hash_map_string_2.cpp
浏览文件 @
df8e3fa9
...
...
@@ -440,7 +440,7 @@ inline bool memequal_sse_wide(const char * p1, const char * p2, size_t size)
if
(
compare_byIntSSE
(
p1
,
p2
)
&&
compare_byIntSSE
(
p1
+
16
,
p2
+
16
)
&&
compare_byIntSSE
(
p1
+
32
,
p2
+
32
)
&&
compare_byIntSSE
(
p1
+
4
0
,
p2
+
40
))
&&
compare_byIntSSE
(
p1
+
4
8
,
p2
+
48
))
{
p1
+=
64
;
p2
+=
64
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录