Blender
V3.3
|
#include "testing/testing.h"
#include <atomic>
#include <cstring>
#include "atomic_ops.h"
#include "MEM_guardedalloc.h"
#include "BLI_utildefines.h"
#include "BLI_listbase.h"
#include "BLI_mempool.h"
#include "BLI_task.h"
#include "BLI_task.hh"
Go to the source code of this file.
Macros | |
#define | ITEMS_NUM 10000 |
Typedefs | |
using | TaskMemPool_Chunk = struct TaskMemPool_Chunk { ListBase *accumulate_items |
Functions | |
static void | task_range_iter_func (void *userdata, int index, const TaskParallelTLS *__restrict tls) |
static void | task_range_iter_reduce_func (const void *__restrict UNUSED(userdata), void *__restrict join_v, void *__restrict userdata_chunk) |
TEST (task, RangeIter) | |
static void | task_mempool_iter_func (void *userdata, MempoolIterData *item, const TaskParallelTLS *__restrict UNUSED(tls)) |
TEST (task, MempoolIter) | |
static void | task_mempool_iter_tls_func (void *UNUSED(userdata), MempoolIterData *item, const TaskParallelTLS *__restrict tls) |
static void | task_mempool_iter_tls_reduce (const void *__restrict UNUSED(userdata), void *__restrict chunk_join, void *__restrict chunk) |
static void | task_mempool_iter_tls_free (const void *UNUSED(userdata), void *__restrict userdata_chunk) |
TEST (task, MempoolIterTLS) | |
static void | task_listbase_iter_func (void *userdata, void *item, int index, const TaskParallelTLS *__restrict UNUSED(tls)) |
TEST (task, ListBaseIter) | |
TEST (task, ParallelInvoke) | |
#define ITEMS_NUM 10000 |
Definition at line 18 of file BLI_task_test.cc.
using TaskMemPool_Chunk = struct TaskMemPool_Chunk { ListBase *accumulate_items |
Definition at line 146 of file BLI_task_test.cc.
|
static |
Definition at line 240 of file BLI_task_test.cc.
References atomic_sub_and_fetch_uint32(), count, data, POINTER_AS_INT, and POINTER_FROM_INT.
Referenced by TEST().
|
static |
Definition at line 72 of file BLI_task_test.cc.
References atomic_sub_and_fetch_uint32(), count, and data.
Referenced by TEST().
|
static |
Definition at line 150 of file BLI_task_test.cc.
References BLI_addtail(), BLI_genericNodeN(), and data.
Referenced by TEST().
|
static |
Definition at line 168 of file BLI_task_test.cc.
References BLI_movelisttolist().
Referenced by TEST().
|
static |
|
static |
Definition at line 30 of file BLI_task_test.cc.
Referenced by TEST().
TEST | ( | task | , |
ListBaseIter | |||
) |
Definition at line 252 of file BLI_task_test.cc.
References BLI_addtail(), BLI_parallel_range_settings_defaults(), BLI_task_parallel_listbase(), BLI_threadapi_exit(), BLI_threadapi_init(), LinkData::data, EXPECT_EQ(), ListBase::first, ITEMS_NUM, MEM_calloc_arrayN, MEM_freeN, LinkData::next, POINTER_AS_INT, and task_listbase_iter_func().
TEST | ( | task | , |
MempoolIter | |||
) |
Definition at line 85 of file BLI_task_test.cc.
References BLI_mempool_alloc(), BLI_MEMPOOL_ALLOW_ITER, BLI_mempool_create(), BLI_mempool_destroy(), BLI_mempool_free(), BLI_parallel_mempool_settings_defaults(), BLI_task_parallel_mempool(), BLI_threadapi_exit(), BLI_threadapi_init(), data, EXPECT_EQ(), ITEMS_NUM, and task_mempool_iter_func().
TEST | ( | task | , |
MempoolIterTLS | |||
) |
Definition at line 190 of file BLI_task_test.cc.
References BLI_freelistN(), BLI_listbase_count(), BLI_mempool_alloc(), BLI_MEMPOOL_ALLOW_ITER, BLI_mempool_create(), BLI_mempool_destroy(), BLI_parallel_mempool_settings_defaults(), BLI_task_parallel_mempool(), BLI_threadapi_exit(), BLI_threadapi_init(), data, EXPECT_EQ(), TaskParallelSettings::func_free, TaskParallelSettings::func_reduce, ITEMS_NUM, MEM_freeN, LinkData::next, task_mempool_iter_tls_free(), task_mempool_iter_tls_func(), task_mempool_iter_tls_reduce(), TaskParallelSettings::userdata_chunk, and TaskParallelSettings::userdata_chunk_size.
TEST | ( | task | , |
ParallelInvoke | |||
) |
Definition at line 286 of file BLI_task_test.cc.
References counter, EXPECT_EQ(), and blender::threading::parallel_invoke().
TEST | ( | task | , |
RangeIter | |||
) |
Definition at line 40 of file BLI_task_test.cc.
References BLI_parallel_range_settings_defaults(), BLI_task_parallel_range(), BLI_threadapi_exit(), BLI_threadapi_init(), data, EXPECT_EQ(), TaskParallelSettings::func_reduce, ITEMS_NUM, TaskParallelSettings::min_iter_per_thread, sum(), task_range_iter_func(), task_range_iter_reduce_func(), TaskParallelSettings::userdata_chunk, and TaskParallelSettings::userdata_chunk_size.