|
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.