Parallelizer - A Lightweight Buffer-Based Parallelism Solution

Oops, forgot to change the type annotations, please re-insert the module to get the correct types


The documentation is a work-in-progress! I just need to finish up the API References and deploy it

1 Like

I’ve finished the documentation and it’s up open!

Got some of the href links wrong, should be fixed now

1 Like

image
Just realized my fix didn’t go through, I’ll go and try to fix this now…

1 Like

Alright, just sent a fix and left it to take a shower. It works now

Added a poll on whether or not should I make a repo, to see if it’s worth doing

Found an oversight whilst doing a check, forgot to add the instruction data to the dispatch function on the guides. WIll be fixed

Hello everyone! I’m here to give some love to this resource after months of inactivity, sorry about that :sweat_smile:. I’m currently working on a new version of Parallelizer that utilizes buffers to optimize the transfer between parallel - serial via the bindable, this version will also have a slightly new API with more object-oriented aspects in mind.

I hope you’d find this useful once it drops!

Also I realized that using sqrt as a benchmark is unreliable as it doesn’t really matter if you do sqrt in parallel, it’d probably match the speed in serial (or faster). I’ll try to find another way to benchmark

1 Like


Some nice mock parallel utilization with 10k threads & 256 actors (~6-13ms/call with my machine)

I’ve completed writing the module, I’ll test this further with the raycaster. Keep in mind that this version is a really breaking change, with much better performance than the last.

:shushing_face: the main selling point just might be gone to improve performance

Looks like I can’t age verify with my ID, gotta wait for support. In the meantime I’ll work on the new docs i guess…

v0.1.3

Finally! After 4 days of blood and sweat, It’s finally here!

See the changelog here

v0.1.4

Many bug fixes and performance optimizations, please update to the newest version.

v0.1.5

Optimized the buffer serialization to not alloc at all when possible

v0.1.6

Added

  • Color3u8 DataType that uses only 3 bytes instead of the usual 24 bytes for Color3
  • TaskCoordinator:Destroy

v0.1.7

Fixed

  • Buffer size calculation when merging

v0.2.1

Added

  • Color3b16 data type that compresses the Color3 to just 2 bytes

Fixed

  • Connections not inserted to the connections pool

v0.2.3

Fixed

  • Color3b16 not in the DataType
  • Vector3i16 occupying 8 bytes while it should be 6 bytes

Also added a DataTypes section in the API Reference Docs

v0.2.4

Fixed

  • TaskCoordinator:Destroy not clearing the actors and connections table

Updated the docs to have f32 and f64 (since I forgor), along with some other typo fixes