# 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_1thread_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=100, parallel=1,
                                          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])
