Skip to content

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.

Branch: master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
May 7, 2020
src
Jul 2, 2020
Mar 2, 2020
May 22, 2020

README.md

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.

About

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.

Topics

Resources

License

Languages

You can’t perform that action at this time.