Skip to content

KostadinAtanasov/libfly

Repository files navigation

							libfly

What is libfly?

libfly is a C library which strive to be simple way of doing parallel
tasks.

Supported parallel patterns:

Simple parallel_for:
int parallel_for(int count, fly_parallel_for_func func, void *ptr);
Run func, count number of times with parameters index and ptr.

Simple parallel_for_arr:
int fly_parallel_for_arr(int start, int end, fly_parallel_for_func func,
		void *arr, size_t elsize);
Run func,  (end - start) number of times with parameters index and
	arr[index].

Task pushing:
int fly_push_task(struct fly_task *task);
Run task asynchronously on some thread in some time.

int fly_wait_task(struct fly_task *task);
Wait previously pushed task to finish.

int fly_wait_tasks(struct fly_task **tasks, int nbtasks);
Wait every task in the array tasks to finish.

void *fly_get_task_result(struct fly_task *task);

How to build:

libfly uses cmake as build system. The easyest way to build it
is to simply execute one of build-* files in the root directory.

About

Simple parallel for and parallel tasks execution library

Resources

License

Stars

Watchers

Forks

Packages

No packages published