Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
0e8e3f16
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1193
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
0e8e3f16
编写于
12月 01, 2021
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add a test
上级
45be96a4
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
93 addition
and
0 deletion
+93
-0
deps/test/CMakeLists.txt
deps/test/CMakeLists.txt
+2
-0
deps/test/tdev/CMakeLists.txt
deps/test/tdev/CMakeLists.txt
+4
-0
deps/test/tdev/src/main.c
deps/test/tdev/src/main.c
+87
-0
未找到文件。
deps/test/CMakeLists.txt
浏览文件 @
0e8e3f16
...
@@ -6,3 +6,5 @@ endif(${BUILD_WITH_ROCKSDB})
...
@@ -6,3 +6,5 @@ endif(${BUILD_WITH_ROCKSDB})
if
(
${
BUILD_WITH_LUCENE
}
)
if
(
${
BUILD_WITH_LUCENE
}
)
add_subdirectory
(
lucene
)
add_subdirectory
(
lucene
)
endif
(
${
BUILD_WITH_LUCENE
}
)
endif
(
${
BUILD_WITH_LUCENE
}
)
add_subdirectory
(
tdev
)
deps/test/tdev/CMakeLists.txt
0 → 100644
浏览文件 @
0e8e3f16
aux_source_directory
(
src TDEV_SRC
)
add_executable
(
tdev
${
TDEV_SRC
}
)
target_include_directories
(
tdev PUBLIC inc
)
\ No newline at end of file
deps/test/tdev/src/main.c
0 → 100644
浏览文件 @
0e8e3f16
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <sys/time.h>
#define POINTER_SHIFT(ptr, s) ((void *)(((char *)ptr) + (s)))
#define POINTER_DISTANCE(pa, pb) ((char *)(pb) - (char *)(pa))
#define tPutA(buf, val) \
({ \
memcpy(buf, &val, sizeof(val)); \
POINTER_SHIFT(buf, sizeof(val)); \
})
#define tPutB(buf, val) \
({ \
((uint8_t *)buf)[3] = ((val) >> 24) & 0xff; \
((uint8_t *)buf)[2] = ((val) >> 16) & 0xff; \
((uint8_t *)buf)[1] = ((val) >> 8) & 0xff; \
((uint8_t *)buf)[0] = (val)&0xff; \
POINTER_SHIFT(buf, sizeof(val)); \
})
#define tPutC(buf, val) \
({ \
((uint64_t *)buf)[0] = (val); \
POINTER_SHIFT(buf, sizeof(val)); \
})
typedef
enum
{
A
,
B
,
C
}
T
;
static
void
func
(
T
t
)
{
uint64_t
val
=
198
;
char
buf
[
1024
];
void
*
pBuf
=
buf
;
switch
(
t
)
{
case
A
:
for
(
size_t
i
=
0
;
i
<
10
*
1024l
*
1024l
*
1024l
;
i
++
)
{
pBuf
=
tPutA
(
pBuf
,
val
);
if
(
POINTER_DISTANCE
(
buf
,
pBuf
)
==
1024
)
{
pBuf
=
buf
;
}
}
break
;
case
B
:
for
(
size_t
i
=
0
;
i
<
10
*
1024l
*
1024l
*
1024l
;
i
++
)
{
pBuf
=
tPutB
(
pBuf
,
val
);
if
(
POINTER_DISTANCE
(
buf
,
pBuf
)
==
1024
)
{
pBuf
=
buf
;
}
}
break
;
case
C
:
for
(
size_t
i
=
0
;
i
<
10
*
1024l
*
1024l
*
1024l
;
i
++
)
{
pBuf
=
tPutC
(
pBuf
,
val
);
if
(
POINTER_DISTANCE
(
buf
,
pBuf
)
==
1024
)
{
pBuf
=
buf
;
}
}
break
;
default:
break
;
}
}
static
uint64_t
now
()
{
struct
timeval
tv
;
gettimeofday
(
&
tv
,
NULL
);
return
tv
.
tv_sec
*
1000000
+
tv
.
tv_usec
;
}
int
main
(
int
argc
,
char
const
*
argv
[])
{
uint64_t
t1
=
now
();
func
(
A
);
uint64_t
t2
=
now
();
printf
(
"A: %ld
\n
"
,
t2
-
t1
);
func
(
B
);
uint64_t
t3
=
now
();
printf
(
"B: %ld
\n
"
,
t3
-
t2
);
func
(
C
);
uint64_t
t4
=
now
();
printf
(
"C: %ld
\n
"
,
t4
-
t3
);
return
0
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录