efl/src/lib
Ali Alzyod c25554c4f2 evas_common: use memcpy to copy pixel buffer
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
2019-06-25 21:48:42 +09:00
..
ecore ecore - efl thread - handle write call mishaps and complain 2019-06-20 11:26:55 +01:00
ecore_audio eolian: move from eo_prefix to c_prefix 2019-05-09 16:17:44 +02:00
ecore_avahi
ecore_buffer
ecore_cocoa replace strndup with eina_strndup, remove strndup definition in evil and elm_test_dnd 2019-05-03 13:13:57 +01:00
ecore_con eolian: rename @warn_unused and its associated API 2019-05-26 17:41:22 +02:00
ecore_drm
ecore_drm2 ecore-drm2: Add API to check if vblank is supported 2019-05-22 07:44:00 -04:00
ecore_evas efl_input_pointer: rename tool to touch_id 2019-06-20 17:14:54 +02:00
ecore_fb
ecore_file remove Evil.h when not necessary, include evil_private.h when necessary 2019-05-20 09:10:00 -04:00
ecore_imf build: use only BUILD_ECORE_IMF_XIM as a define 2019-04-17 15:45:35 -04:00
ecore_imf_evas
ecore_input
ecore_input_evas
ecore_ipc ecore_ipc: close dialer io closer when dialer is deleted. 2019-05-22 08:01:58 -04:00
ecore_sdl ecore_sdl: fix detection of sdl with meson build 2019-04-18 12:30:22 -04:00
ecore_wayland
ecore_win32 meson: support ecore-win32 2019-05-06 17:00:45 +02:00
ecore_wl2 ecore-wl2: Add TODO notes for missing doxygen 2019-06-11 09:49:11 -04:00
ecore_x ecore_x - restore move event skipper that was removed long ago 2019-06-18 11:26:52 +01:00
ector ector: Fix precomp layer rendering issue when it has alpha value 2019-06-20 16:07:05 +09:00
edje fix segv when adding optimizations to edje message handling 2019-06-21 09:29:52 +01:00
eet Eet: remove useless inclusion of Evil.h 2019-05-17 11:53:35 +01:00
eeze
efl efl_input_device: split up has_pointer_cap 2019-06-20 17:25:42 +02:00
efl_mono efl-mono: Add object type support for Eina.Value 2019-06-25 19:11:23 +09:00
efl_wl efl_wfl: fix warning and err prints for wl keymap tmp file 2019-06-20 11:32:12 +01:00
efreet remove Evil.h when not necessary, include evil_private.h when necessary 2019-05-20 09:10:00 -04:00
eina meson: remove unneeded install: flags 2019-06-03 08:46:29 -04:00
eio eio: fix Efl.Io.Model properties iterator. 2019-06-05 13:40:26 -07:00
eldbus optimize - avoid eina_inlist_last where not needed 2019-06-15 09:31:51 +01:00
elementary efl_ui_slider: remove setting pass_events on internal spacer in constructor 2019-06-24 18:31:49 +02:00
elocation
elput elput: Remove useless call to eldbus_message_unref 2019-04-23 09:14:52 -04:00
elua include evil_private.h in last files, and disable symbolic links on Windows in a couple of files 2019-05-22 07:59:05 -04:00
embryo remove Evil.h when not necessary, include evil_private.h when necessary 2019-05-20 09:10:00 -04:00
emile docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
emotion emotion: don't update crop clipper geometry if crop clipper doesn't exist 2019-05-29 12:29:04 -04:00
eo eo: add events to track the ownership status of an Eo object 2019-05-29 15:53:23 -07:00
eolian eolian: add library support for declaring and using errors 2019-06-24 15:15:30 +02:00
eolian_cxx eolian_mono: support eo access modifiers 2019-06-24 19:19:00 +09:00
ephysics remove Evil.h when not necessary, include evil_private.h when necessary 2019-05-20 09:10:00 -04:00
escape docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
ethumb remove Evil.h when not necessary, include evil_private.h when necessary 2019-05-20 09:10:00 -04:00
ethumb_client docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
evas evas_common: use memcpy to copy pixel buffer 2019-06-25 21:48:42 +09:00
evas_goal
evil define HAVE_REALPATH in evil_stdlib.h 2019-06-18 13:22:05 +01:00
.gitignore