{"id":13711298,"url":"https://github.com/kassane/context","last_synced_at":"2025-05-06T20:32:34.532Z","repository":{"id":178989922,"uuid":"655369131","full_name":"kassane/context","owner":"kassane","description":"`boost.context` library using zig build","archived":false,"fork":true,"pushed_at":"2024-06-26T13:09:25.000Z","size":8254,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"zig-pkg","last_synced_at":"2024-11-13T21:44:58.168Z","etag":null,"topics":["boost","boost-libraries","cpp-library","zig-package"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"boostorg/context","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kassane.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-06-18T17:26:42.000Z","updated_at":"2024-06-27T13:52:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kassane/context","commit_stats":null,"previous_names":["kassane/context"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kassane%2Fcontext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kassane%2Fcontext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kassane%2Fcontext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kassane%2Fcontext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kassane","download_url":"https://codeload.github.com/kassane/context/tar.gz/refs/heads/zig-pkg","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252764663,"owners_count":21800728,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["boost","boost-libraries","cpp-library","zig-package"],"created_at":"2024-08-02T23:01:06.690Z","updated_at":"2025-05-06T20:32:33.875Z","avatar_url":"https://github.com/kassane.png","language":"Assembly","readme":"boost.context\n=============\n\nboost.context is a foundational library that provides a sort of cooperative multitasking on a single thread.\nBy providing an abstraction of the current execution state in the current thread, including the stack (with \nlocal variables) and stack pointer, all registers and CPU flags, and the instruction pointer, a execution_context \ninstance represents a specific point in the application's execution path. This is useful for building \nhigher-level abstractions, like coroutines, cooperative threads (userland threads) or an equivalent to \nC# keyword yield in C++.\n\nA fiber provides the means to suspend the current execution path and to transfer execution control, \nthereby permitting another fiber to run on the current thread. This state full transfer mechanism \nenables a fiber to suspend execution from within nested functions and, later, to resume from where it \nwas suspended. While the execution path represented by a fiber only runs on a single thread, it can be \nmigrated to another thread at any given time.\n\nA context switch between threads requires system calls (involving the OS kernel), which can cost more than \nthousand CPU cycles on x86 CPUs. By contrast, transferring control among fibers requires only fewer than \nhundred CPU cycles because it does not involve system calls as it is done within a single thread.\n\nboost.context requires C++11! \n","funding_links":[],"categories":["Interoperability"],"sub_categories":["Build with Zig"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkassane%2Fcontext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkassane%2Fcontext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkassane%2Fcontext/lists"}