# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

NAME = 'hardware_MemoryThroughput.copy_2thread_full_range'
AUTHOR = 'sonnyrao@chromium.org'
PURPOSE = 'Benchmark sequential throughput for read, write, and copy'
CRITERIA = 'This test is a benchmark.'
TIME='MEDIUM'
TEST_CATEGORY = 'Performance'
TEST_CLASS = 'hardware'
TEST_TYPE = 'client'

DOC = """
This uses the lmbench 3 bw_mem benchmark for reads, writes, and copy
For write and copy it uses C standard library functions memcpy and
memset, which are generally optimized for the target.
"""

job.run_test('hardware_MemoryThroughput', test='bcopy', warmup=100,
                                          num_iterations=30, parallel=2,
                                          sizes=[ 1024, 2048, 4096, 8192,
                                                  15360, 16384, 24576,
                                                  30720, 32768, 33792,
                                                  49152, 65536, 98304,
                                                  130048, 131072, 256000,
                                                  262144, 393216, 524288,
                                                  1048576, 1468006, 1572864,
                                                  1966080, 2097152, 2228224,
                                                  2621440, 3072000, 3145728,
                                                  3276800, 4194304, 8388608,
                                                  16777216, 33554432, 67108864])
