Skip to content
@hertzscript

HertzScript Systems

We are HertzScript R&D. We intend to improve web software as a whole by developing tools for cutting-edge programming and architectural exploration.

HertzScript Coroutine System G2

The primary role of coroutine system G2 is to assist developers who want their software to reliably multitask between several functions. The G2 system is composed of a JavaScript virtual machine, compiler, and M:N threading system which allows programs to execute concurrently and/or in parallel. The main motivation of G2 is to generate a standard multi-CPU parallel computing system and library for JavaScript.

Tasklet is described in the second generation (G2) specification, and will replace VirtualMachine from the first generation (G1) to implement Voluntary Preemptive Multitasking (VPM) threads in JavaScript. The new distributed scheduling system for Tasklets is Tasklet Burst Coscheduling (TBC), an implementation a variant of Concurrent Gang Scheduling called Paired Gang Scheduling. The TBC scheduling algorithm deviates from a traditional task-oriented runqueue design and is unaware of threads, instead representing the multitasking system as a sequence of events in a decentralized Discrete-Event Simulation. The scheduler re-sequences Tasklet events in short “bursts”, a fixed-increment time-progression

Pinned Loading

  1. Tasklet Tasklet Public

    Executes and schedules preemptible JavaScript coroutines. (HertzScript Generation 2 Coroutines)

    JavaScript 1

  2. Compiler Compiler Public

    Produces preemptible JavaScript coroutines which conform to the HertzScript specification.

    JavaScript 9 1

  3. HertzTest HertzTest Public

    Comprehensive integration tests for the HertzScript compiler!

    JavaScript 1

  4. G2-Coroutine-Specification G2-Coroutine-Specification Public

    HertzScript Generation 2 Coroutine Specification

    Shell 1

Repositories

Showing 10 of 10 repositories
  • .github Public
    hertzscript/.github’s past year of commit activity
    0 0 0 0 Updated Sep 10, 2022
  • Platform Public

    Platform abstraction related to OS threads.

    hertzscript/Platform’s past year of commit activity
    C++ 1 MIT 0 0 0 Updated Nov 25, 2020
  • G2-Coroutine-Specification Public

    HertzScript Generation 2 Coroutine Specification

    hertzscript/G2-Coroutine-Specification’s past year of commit activity
    Shell 1 MIT 0 0 0 Updated Apr 16, 2020
  • G1-Coroutine-Specification Public

    HertzScript Generation 1 Coroutine Specification (Obsolete)

    hertzscript/G1-Coroutine-Specification’s past year of commit activity
    Shell 5 MIT 1 0 0 Updated Apr 16, 2020
  • Tasklet Public

    Executes and schedules preemptible JavaScript coroutines. (HertzScript Generation 2 Coroutines)

    hertzscript/Tasklet’s past year of commit activity
    JavaScript 1 MIT 0 0 0 Updated Apr 16, 2020
  • VirtualMachine Public

    Executes and schedules preemptible JavaScript coroutines. (HertzScript Generation 1 Coroutines) (Obsolete)

    hertzscript/VirtualMachine’s past year of commit activity
    JavaScript 12 MIT 2 0 0 Updated Oct 22, 2019
  • Isolate Public

    Enables multiprocessing in V8 with HertzScript coroutines.

    hertzscript/Isolate’s past year of commit activity
    JavaScript 1 MIT 0 1 0 Updated Oct 10, 2019
  • Compiler Public

    Produces preemptible JavaScript coroutines which conform to the HertzScript specification.

    hertzscript/Compiler’s past year of commit activity
    JavaScript 9 MIT 1 0 1 Updated Sep 14, 2019
  • Velocity Public

    Velocity is a concurrent REPL for HertzScript coroutines. Code runs concurrently with the REPL.

    hertzscript/Velocity’s past year of commit activity
    JavaScript 0 MIT 0 0 0 Updated Sep 13, 2019
  • HertzTest Public

    Comprehensive integration tests for the HertzScript compiler!

    hertzscript/HertzTest’s past year of commit activity
    JavaScript 1 0 0 0 Updated Aug 12, 2019

Top languages

Loading…

Most used topics

Loading…