forked from enlightenment/efl
Ali Alzyod
c25554c4f2
Summary: This function has no special processing when copy data, so using memcpy can enhance performance Test Plan: ``` #include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> typedef unsigned int DATA32; static void oldFunc(DATA32 *src, DATA32 *dst, size_t len) { DATA32 *dst_end = dst + len; while (dst < dst_end) *dst++ = *src++; } static void newFunc(DATA32 *src, DATA32 *dst, size_t len) { memcpy(dst, src, len * sizeof(DATA32)); } int main() { int counter = 1000; srand(time(NULL)); DATA32 src[50000] = {0}; DATA32 dst[50000] = {0}; for (int i = 0; i < 50000; i++) src[i] = rand(); clock_t start, end; double total_Time1 = 0; int i; start = clock(); for (i = 0; i < counter; i++) oldFunc(src, dst, 50000); end = clock(); total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC; printf("original = %f \n", total_Time1); start = clock(); for (i = 0; i < counter; i++) newFunc(src, dst, 50000); end = clock(); total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC; printf("modified = %f \n", total_Time1); } ``` Reviewers: raster, ManMower, woohyun, Hermet Reviewed By: Hermet Subscribers: Hermet, vtorri, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9155 |
||
---|---|---|
.. | ||
ecore | ||
ecore_audio | ||
ecore_avahi | ||
ecore_buffer | ||
ecore_cocoa | ||
ecore_con | ||
ecore_drm | ||
ecore_drm2 | ||
ecore_evas | ||
ecore_fb | ||
ecore_file | ||
ecore_imf | ||
ecore_imf_evas | ||
ecore_input | ||
ecore_input_evas | ||
ecore_ipc | ||
ecore_sdl | ||
ecore_wayland | ||
ecore_win32 | ||
ecore_wl2 | ||
ecore_x | ||
ector | ||
edje | ||
eet | ||
eeze | ||
efl | ||
efl_mono | ||
efl_wl | ||
efreet | ||
eina | ||
eio | ||
eldbus | ||
elementary | ||
elocation | ||
elput | ||
elua | ||
embryo | ||
emile | ||
emotion | ||
eo | ||
eolian | ||
eolian_cxx | ||
ephysics | ||
escape | ||
ethumb | ||
ethumb_client | ||
evas | ||
evas_goal | ||
evil | ||
.gitignore |