Files
OpenCellular/test
Daisuke Nojiri d3facbd92f Optimize memcpy
This speeds up memcpy by copying a word at a time if source and destination are
aligned in mod 4. That is, if n and m are a positive integer:

  4n -> 4m: aligned, 4x speed.
  4n -> 4m+1: misaligned.
  4n+1 -> 4m+1: aligned in mod 4, 4x speed.

Ran the unit test on Peppy:

  > runtest
  ...
  Running test_memcpy... (speed gain: 120300 -> 38103 us) OK
  ...

Ran make buildall -j:

  ...
  Running test_memcpy... (speed gain: 2084 -> 549 us) OK
  ...

Note misaligned case is also optimized. Unit test runs in 298 us on Peppy while
it takes about 475 with the original memcpy.

TEST=Described above.
BUG=chrome-os-partner:23720
BRANCH=none
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Change-Id: Ic12260451c5efd0896d6353017cd45d29cb672db
Tested-by: Daisuke Nojiri <dnojiri@google.com>
Reviewed-on: https://chromium-review.googlesource.com/185618
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Commit-Queue: Daisuke Nojiri <dnojiri@google.com>
2014-02-12 19:40:52 +00:00
..
2013-09-05 07:20:46 +00:00
2013-05-14 09:25:03 -07:00
2013-09-04 20:32:52 +00:00
2014-01-08 03:49:29 +00:00
2013-07-11 22:32:52 -07:00
2013-05-08 18:11:01 -07:00
2013-09-05 07:20:56 +00:00
2013-10-01 08:16:34 +00:00
2014-01-06 12:40:45 +00:00
2013-04-11 11:29:32 -07:00
2014-01-06 12:40:45 +00:00
2013-04-10 09:35:06 -07:00
2013-04-10 09:35:06 -07:00
2013-06-13 18:13:19 -07:00
2013-04-19 10:41:33 -07:00
2013-07-22 16:09:47 -07:00
2013-07-22 16:09:47 -07:00
2012-06-07 20:01:49 -07:00
2013-04-15 20:40:03 -07:00
2014-01-09 20:26:10 +00:00
2012-07-13 02:10:46 -07:00
2013-04-10 09:35:06 -07:00
2014-02-12 19:40:52 +00:00