All Projects → surparallel → Pelagia

surparallel / Pelagia

Licence: agpl-3.0
Automatic parallelization (lock-free multithreading thread) tool developed by Surparallel Open Source.Pelagia is embedded key value database that implements a small, fast, high-reliability on ANSI C.

Programming Languages

c
50402 projects - #5 most used programming language
lua
6591 projects
cpp
1120 projects

Projects that are alternatives of or similar to Pelagia

Hamsters.js
100% Vanilla Javascript Multithreading & Parallel Execution Library
Stars: ✭ 517 (-54.33%)
Mutual labels:  parallel, multithreading, parallel-computing, thread
Swiftcoroutine
Swift coroutines for iOS, macOS and Linux.
Stars: ✭ 690 (-39.05%)
Mutual labels:  multithreading, thread, lock-free
Openmp Examples
openmp examples
Stars: ✭ 64 (-94.35%)
Mutual labels:  parallel, multithreading, parallel-computing
java-multithread
Códigos feitos para o curso de Multithreading com Java, no canal RinaldoDev do YouTube.
Stars: ✭ 24 (-97.88%)
Mutual labels:  parallel, parallel-computing, multithreading
Taskflow
A General-purpose Parallel and Heterogeneous Task Programming System
Stars: ✭ 6,128 (+441.34%)
Mutual labels:  multithreading, parallel-computing, parallel
Corium
Corium is a modern scripting language which combines simple, safe and efficient programming.
Stars: ✭ 18 (-98.41%)
Mutual labels:  parallel, parallel-computing, multithreading
Poshrsjob
Provides an alternative to PSjobs with greater performance and less overhead to run commands in the background, freeing up the console and allowing throttling on the jobs.
Stars: ✭ 447 (-60.51%)
Mutual labels:  parallel, multithreading
Ems
Extended Memory Semantics - Persistent shared object memory and parallelism for Node.js and Python
Stars: ✭ 552 (-51.24%)
Mutual labels:  parallel, multithreading
Pwrake
Parallel Workflow extension for Rake, runs on multicores, clusters, clouds.
Stars: ✭ 57 (-94.96%)
Mutual labels:  parallel, parallel-computing
CPURasterizer
CPU Based Rasterizer Engine
Stars: ✭ 99 (-91.25%)
Mutual labels:  parallel-computing, multithreading
Adaptive
📈 Adaptive: parallel active learning of mathematical functions
Stars: ✭ 646 (-42.93%)
Mutual labels:  parallel, parallel-computing
Raftlib
The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators
Stars: ✭ 717 (-36.66%)
Mutual labels:  parallel, thread
Atomic queue
C++ lockless queue.
Stars: ✭ 373 (-67.05%)
Mutual labels:  multithreading, lock-free
Ray Tracing Iow Rust
Ray Tracing in One Weekend written in Rust
Stars: ✭ 57 (-94.96%)
Mutual labels:  parallel, parallel-computing
Object threadsafe
We make any object thread-safe and std::shared_mutex 10 times faster to achieve the speed of lock-free algorithms on >85% reads
Stars: ✭ 280 (-75.27%)
Mutual labels:  multithreading, lock-free
Appiumtestdistribution
A tool for running android and iOS appium tests in parallel across devices... U like it STAR it !
Stars: ✭ 764 (-32.51%)
Mutual labels:  parallel, parallel-computing
Thread Loader
Runs the following loaders in a worker pool
Stars: ✭ 945 (-16.52%)
Mutual labels:  multithreading, thread
Python Parallel Programming Cookbook Cn
📖《Python Parallel Programming Cookbook》中文版
Stars: ✭ 978 (-13.6%)
Mutual labels:  parallel, thread
MultiHttp
This is a high performance , very useful multi-curl tool written in php. 一个超级好用的并发CURL工具!!!(httpful,restful, concurrency)
Stars: ✭ 79 (-93.02%)
Mutual labels:  parallel, multithreading
parallel-dfs-dag
A parallel implementation of DFS for Directed Acyclic Graphs (https://research.nvidia.com/publication/parallel-depth-first-search-directed-acyclic-graphs)
Stars: ✭ 29 (-97.44%)
Mutual labels:  parallel-computing, multithreading

surparallel(pelagia) C Ubuntu C Macos

Introduce

Pelagia is an automatic parallelization tool (lock-free) developed by surparallel open source based on the concept of sequential virtual machine. Pelagia is developed by ANSI C, abides by AGPL protocol, and supports multiple operating systems and languages. It supports automatic parallelization, transparent thread calling, embedded key value database, embedded multi language running environment, and provides API and documents for each language. The set concept in Boolean algebra is used to describe the operation of data. Including key, value, ordered set, index set and other types.

Principle

Pelagia slices the attribute according to the ECS program. According to the property read and write different automatically allocated to different threads to improve the efficiency.Pelagia is very impressed with writing. All the table written from the order must be allow by "plg_MngAddTable".To use the following methods in order, you need to set write permissions. Otherwise, the write will fail.

plg_JobSet
plg_JobMultiSet
plg_JobDel
plg_JobSetIfNoExit
plg_JobTableClear
plg_JobRename
plg_JobSAdd
plg_JobSMove
plg_JobSPop
plg_JobSDel
plg_JobSUionStore
plg_JobSInterStore
plg_JobSDiffStore

Related resources

Pelagia website: https://surparallel.org Manual: pelagia c api manual 0.33(html) pelagia c api manual 0.33(pdf) pelagia lua api manual 0.33(html) pelagia lua api manual 0.33(pdf)

Example

You can find the relevant sample code in psimple.c, profesa.c under the source code.

Environmental installation

Install on Linux system

Linux&Mac installation is very simple, just download the source package and decompress and compile it on the terminal. This article uses version 0.1 for installation:

git clone https://github.com/surparallel/pelagia.git
cd pelagia/src
make linux

Install on Mac OS X

git clone https://github.com/surparallel/pelagia.git
cd pelagia/src
make macosx

Install on window system

After decompression, enter the msvcs directory and open pelagia.sln for compilation.

Using Pelagia as a Control and Dao framework on the client

An example of unity can be found here https://github.com/surparallel/unity_example_of_pelagia

Pelagia is data and logic management tool for clients. By separating view and control, software complexity is reduced, development efficiency and view performance are improved.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].