0.16.0 multiprocess parallelism


This release adds full multiprocess support: by default, LiSE will run your rules' triggers in subprocesses, so it'll be faster than before when there are lots of triggers.

If you know a bit about parallel programming in Python already, you can use LiSE's new Engine.pool.submit(..) function, just like the one in Python's basic concurrent.futures module, to run whatever code you've stored in the engine's function and method attributes. Putting your functions in a file function.py with the rest of the game code, then accessing the functions in that file as Engine.function.whatever, will work fine.

An additional optimization is available if your rule is meant to run only when something changes near the entity it runs on. Set a neighborhood, now demonstrated in the README, to take advantage.

ELiDE also responds to changes in graphics that the LiSE engine tells it to do, like setting thing["_image_paths"] to a list of image files in the Awareness example. This isn't so much a new feature as an old one that I seem to have turned off on purpose at some point. I don't remember why anymore, so here it is.

Files

ELiDE 0.16.0 win.zip 58 MB
35 days ago
LiSE-0.16.0-py3-none-any.whl 302 kB
35 days ago
ELiDE-0.16.0-py3-none-any.whl 3.9 MB
35 days ago

Get LiSE

Leave a comment

Log in with itch.io to leave a comment.