{"id":23459571,"url":"https://github.com/d-led/pony_lua_parallel","last_synced_at":"2026-02-16T11:32:10.563Z","repository":{"id":146620263,"uuid":"235590015","full_name":"d-led/pony_lua_parallel","owner":"d-led","description":"using Pony to parallelize a single threaded C program (Lua)","archived":false,"fork":false,"pushed_at":"2021-09-06T10:13:44.000Z","size":496,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-05T07:47:27.791Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Pony","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/d-led.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-01-22T14:23:41.000Z","updated_at":"2021-09-06T10:13:47.000Z","dependencies_parsed_at":"2023-06-26T01:22:06.676Z","dependency_job_id":null,"html_url":"https://github.com/d-led/pony_lua_parallel","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/d-led/pony_lua_parallel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-led%2Fpony_lua_parallel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-led%2Fpony_lua_parallel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-led%2Fpony_lua_parallel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-led%2Fpony_lua_parallel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d-led","download_url":"https://codeload.github.com/d-led/pony_lua_parallel/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-led%2Fpony_lua_parallel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29506767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T09:05:14.864Z","status":"ssl_error","status_checked_at":"2026-02-16T08:55:59.364Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-24T06:15:42.737Z","updated_at":"2026-02-16T11:32:10.547Z","avatar_url":"https://github.com/d-led.png","language":"Pony","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pony_lua_parallel\n using Pony to parallelize a single threaded C program (Lua)\n\n[![Build Status](https://travis-ci.com/d-led/pony_lua_parallel.svg?branch=master)](https://travis-ci.com/d-led/pony_lua_parallel) [![Build status](https://ci.appveyor.com/api/projects/status/wp5hcrquow7ye56p/branch/master?svg=true)](https://ci.appveyor.com/project/d-led/pony-lua-parallel/branch/master)\n\n## Building and Running\n\n### Docker\n\n```bash\ndocker-compose build --build-arg MAX_NUM=40\n```\n\nre-run:\n\n```bash\ndocker-compose run -e MAX_NUM=40 pony\n```\n\n### Pony\n\n- Install [Pony](https://github.com/ponylang/corral)\n- `ponyc`\n- run `pony_lua_parallel`\n\n### CI\n\n- Travis-CI runs on 1 virtual core, thus parallelism effects cannot be observed there.\n\n```\nCan't have --ponymaxthreads \u003e physical cores, the number of threads you'd be running with (2 \u003e 1)\n```\n\n- Appveyor seems to run on more than 1 core, and thus some parallelism can be observed\n\n## Contents\n\nSee [main.pony](main.pony):\n\n- `synchronous_demo`: calling [Lua](https://www.lua.org/manual/5.3/) synchronously from [Pony](http://tutorial.ponylang.org/) via [FFI](https://tutorial.ponylang.io/c-ffi.html)\n- `asynchronous_demo`: creating an actor owning a Lua instance upon each request, and [waiting](https://stdlib.ponylang.io/promises-Promises/#join) for asynchronously arriving results via [Promises](https://patterns.ponylang.io/async/actorpromise.html)\n- `lua_sending_messages_demo`: creating a fixed number of worker actors in Pony, and dispatching work to them from Lua\n- [lua.pony](lua.pony): the problem-specific FFI based Lua 5.3 wrapper class\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-led%2Fpony_lua_parallel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd-led%2Fpony_lua_parallel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-led%2Fpony_lua_parallel/lists"}