add file tests/test_memcpy.c

use_iouring
YuQing 2023-12-04 21:41:08 +08:00
parent 5283a55bda
commit c9083ae0cf
4 changed files with 62 additions and 3 deletions

1
.gitignore vendored
View File

@ -61,6 +61,7 @@ src/tests/test_normalize_path
src/tests/test_sorted_array src/tests/test_sorted_array
src/tests/test_sorted_queue src/tests/test_sorted_queue
src/tests/test_thread_local src/tests/test_thread_local
src/tests/test_memcpy
# other # other
*.swp *.swp

View File

@ -266,7 +266,7 @@ int conn_pool_async_connect_server_ex(ConnectionInfo *conn,
return result; return result;
} }
static inline void conn_pool_get_key(const ConnectionInfo *conn, static inline void conn_pool_get_key(const ConnectionInfo *conn,
char *key, int *key_len) char *key, int *key_len)
{ {
*key_len = sprintf(key, "%s-%u", conn->ip_addr, conn->port); *key_len = sprintf(key, "%s-%u", conn->ip_addr, conn->port);
@ -710,7 +710,7 @@ int conn_pool_parse_server_info(const char *pServerStr,
if (getIpaddrByNameEx(parts[0], pServerInfo->ip_addr, if (getIpaddrByNameEx(parts[0], pServerInfo->ip_addr,
sizeof(pServerInfo->ip_addr), sizeof(pServerInfo->ip_addr),
&pServerInfo->af) == INADDR_NONE) &pServerInfo->af) == INADDR_NONE)
{ {
logError("file: "__FILE__", line: %d, " logError("file: "__FILE__", line: %d, "
"host: %s, invalid hostname: %s!", "host: %s, invalid hostname: %s!",
__LINE__, pServerStr, parts[0]); __LINE__, pServerStr, parts[0]);

View File

@ -11,9 +11,13 @@ ALL_PRGS = test_allocator test_skiplist test_multi_skiplist test_mblock test_blo
test_server_id_func test_pipe test_atomic test_file_write_hole test_file_lock \ test_server_id_func test_pipe test_atomic test_file_write_hole test_file_lock \
test_pthread_wait test_thread_pool test_data_visible test_mutex_lock_perf \ test_pthread_wait test_thread_pool test_data_visible test_mutex_lock_perf \
test_queue_perf test_normalize_path test_sorted_array test_sorted_queue \ test_queue_perf test_normalize_path test_sorted_array test_sorted_queue \
test_thread_local test_thread_local test_memcpy
all: $(ALL_PRGS) all: $(ALL_PRGS)
test_memcpy: test_memcpy.c
$(CC) -g -Wall -o $@ $< $(LIB_PATH) $(INC_PATH)
.c: .c:
$(COMPILE) -o $@ $< $(LIB_PATH) $(INC_PATH) $(COMPILE) -o $@ $< $(LIB_PATH) $(INC_PATH)
.c.o: .c.o:

54
src/tests/test_memcpy.c Normal file
View File

@ -0,0 +1,54 @@
/*
* Copyright (c) 2020 YuQing <384681@qq.com>
*
* This program is free software: you can use, redistribute, and/or modify
* it under the terms of the Lesser GNU General Public License, version 3
* or later ("LGPL"), as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*
* You should have received a copy of the Lesser GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "fastcommon/shared_func.h"
#define BUFF_SIZE (4 * 1024 * 1024)
int main(int argc, char *argv[])
{
char *buff1;
char *buff2;
char *dest;
int64_t start_time, end_time;
char time_buff[32];
int i;
buff1 = malloc(BUFF_SIZE);
buff2 = malloc(BUFF_SIZE);
dest = malloc(BUFF_SIZE);
memset(buff1, 'a', BUFF_SIZE);
memset(buff2, 'b', BUFF_SIZE);
memset(dest, 0, BUFF_SIZE);
start_time = get_current_time_us();
for (i=0; i<16 * 1024; i++) {
if (i % 2 == 0) {
memcpy(buff2, buff1, BUFF_SIZE);
} else {
memcpy(dest, buff2, BUFF_SIZE);
}
}
end_time = get_current_time_us();
printf("time used: %s us\n", long_to_comma_str(
end_time - start_time, time_buff));
return 0;
}