]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd: better performances for the erasure code example
authorLoic Dachary <loic@dachary.org>
Fri, 13 Dec 2013 13:07:37 +0000 (14:07 +0100)
committerLoic Dachary <loic@dachary.org>
Fri, 20 Dec 2013 10:28:47 +0000 (11:28 +0100)
commitc7d8ba7b6d0bb44b54c4a0deb43b04b0facbdee7
tree3f7b694c1d1508fce4fc0442f0e246ebd9a50f4f
parentff9455baade41d5b82d9322cf0401a1c69b31945
osd: better performances for the erasure code example

The XOR based example is ten times slower than it could because it uses
the buffer::ptr[] operator. Use a temporary char * instead. It performs
as well as jerasure Reed Solomon when decoding with a single erasure:

$ ceph_erasure_code_benchmark \
   --plugin example  --parameter erasure-code-directory=.libs \
   --parameter erasure-code-technique=example \
   --parameter erasure-code-k=2 --parameter erasure-code-m=1 \
   --erasure 1 --workload decode --iterations 5000
8.095007 5GB

$ ceph_erasure_code_benchmark \
   --plugin jerasure  --parameter erasure-code-directory=.libs \
   --parameter erasure-code-technique=reed_sol_van \
   --parameter erasure-code-k=10 --parameter erasure-code-m=6 \
   --erasure 1 --workload decode --iterations 5000
7.870990 5GB

Signed-off-by: Loic Dachary <loic@dachary.org>
src/test/osd/ErasureCodeExample.h