LINUX.ORG.RU

История изменений

Исправление Saakx, (текущая версия) :

Если Shenandoah написан на C++, значит не далёк тот день, когда его заменят на Rust.
Так и вышло:

rsgc - вдохновлён сборщиком Shenandoah
     https://docs.rs/rsgc/latest/rsgc/

rtgc - Real-Time Garbage Collector, переносит дорогую операцию удаления в обычный (не реалтаймовый) поток
     https://docs.rs/rtgc/latest/rtgc/

shredder - работает в многопоточных контекстах и имеет режим фоновой сборки (concurrent collection), когда мусор собирается параллельно основной работе программы без длительных остановок
     https://github.com/Others/shredder

dumpster - фокусируется на простоте и однопоточной производительности
     https://github.com/claytonwramsey/dumpster

Реалтаймовость нужна при программировании станков. А по новой политике Россия лидирующая станкостроительная держава мира (будет).

Проблема: JVM не имеет плагинного API для GC (в отличие от .NET)
в .NET есть механизм плагинных сборщиков мусора (GC plugin interface), позволяющий подставить свою реализацию.

Три шага:

  1. Rust-библиотека должна экспортировать C-ABI, а JVM должна вызывать эти функции. Написать адаптер на Rust → C (JNI) → JVM.

  2. Обеспечить создание барьеров — научить компилятор JIT вставлять вызовы GC-библиотеки при каждой записи в поле.

  3. Создать GC-интерфейс для JVM

Исправление Saakx, :

Если Shenandoah написан на C++, значит не далёк тот день, когда его заменят на Rust.
Так и вышло:

rsgc - вдохновлён сборщиком Shenandoah
     https://docs.rs/rsgc/latest/rsgc/

rtgc - Real-Time Garbage Collector, переносит дорогую операцию удаления в обычный (не реалтаймовый) поток
     https://docs.rs/rtgc/latest/rtgc/

shredder - работает в многопоточных контекстах и имеет режим фоновой сборки (concurrent collection), когда мусор собирается параллельно основной работе программы без длительных остановок
     https://github.com/Others/shredder

dumpster - фокусируется на простоте и однопоточной производительности
     https://github.com/claytonwramsey/dumpster

Реалтаймовость нужна при программировании станков. А по новой политике Россия лидирующая станкостроительная держава мира (будет).

Проблема: JVM не имеет плагинного API для GC (в отличие от .NET)
в .NET есть механизм плагинных сборщиков мусора (GC plugin interface), позволяющий подставить свою реализацию.

Исправление Saakx, :

Если Shenandoah написан на C++, значит не далёк тот день, когда его заменят на Rust.
Так и вышло:

rsgc - вдохновлён сборщиком Shenandoah
     https://docs.rs/rsgc/latest/rsgc/

rtgc - Real-Time Garbage Collector, переносит дорогую операцию удаления в обычный (не реалтаймовый) поток
     https://docs.rs/rtgc/latest/rtgc/

shredder - работает в многопоточных контекстах и имеет режим фоновой сборки (concurrent collection), когда мусор собирается параллельно основной работе программы без длительных остановок
     https://github.com/Others/shredder

dumpster - фокусируется на простоте и однопоточной производительности
     https://github.com/claytonwramsey/dumpster

Реалтаймовость нужна при программировании станков. А по новой политике Россия лидирующая станкостроительная держава мира (будет).

Проблема: JVM не имеет плагинного API для GC (в отличие от .NET)

Исправление Saakx, :

Если Shenandoah написан на C++, значит не далёк тот день, когда его заменят на Rust.
Так и вышло:

rsgc - вдохновлён сборщиком Shenandoah
     https://docs.rs/rsgc/latest/rsgc/

rtgc - Real-Time Garbage Collector, переносит дорогую операцию удаления в обычный (не реалтаймовый) поток
     https://docs.rs/rtgc/latest/rtgc/

shredder - работает в многопоточных контекстах и имеет режим фоновой сборки (concurrent collection), когда мусор собирается параллельно основной работе программы без длительных остановок
     https://github.com/Others/shredder

dumpster - фокусируется на простоте и однопоточной производительности
     https://github.com/claytonwramsey/dumpster

Реалтаймовость нужна при программировании станков. А по новой политике Россия лидирующая станкостроительная держава мира (будет).

Исправление Saakx, :

Если Shenandoah написан на C++, значит не далёк тот день, когда его заменят на Rust.
Так и вышло:

rsgc - вдохновлён сборщиком Shenandoah
     https://docs.rs/rsgc/latest/rsgc/

rtgc - Real-Time Garbage Collector, переносит дорогую операцию удаления в обычный (не реалтаймовый) поток
     https://docs.rs/rtgc/latest/rtgc/

shredder - работает в многопоточных контекстах и имеет режим фоновой сборки (concurrent collection), когда мусор собирается параллельно основной работе программы без длительных остановок
     https://github.com/Others/shredder

dumpster - фокусируется на простоте и однопоточной производительности

Реалтаймовость нужна при программировании станков. А по новой политике Россия лидирующая станкостроительная держава мира (будет).

Исправление Saakx, :

Если Shenandoah написан на C++, значит не далёк тот день, когда его заменят на Rust.
Так и вышло:

rsgc - вдохновлён сборщиком Shenandoah
     https://docs.rs/rsgc/latest/rsgc/

rtgc - Real-Time Garbage Collector, переносит дорогую операцию удаления в обычный (не реалтаймовый) поток
     https://docs.rs/rtgc/latest/rtgc/

shredder - работает в многопоточных контекстах и имеет режим фоновой сборки (concurrent collection), когда мусор собирается параллельно основной работе программы без длительных остановок

dumpster - фокусируется на простоте и однопоточной производительности

Реалтаймовость нужна при программировании станков. А по новой политике Россия лидирующая станкостроительная держава мира (будет).

Исправление Saakx, :

Если Shenandoah написан на C++, значит не далёк тот день, когда его заменят на Rust.
Так и вышло:

rsgc - вдохновлён сборщиком Shenandoah
     https://docs.rs/rsgc/latest/rsgc/

rtgc - Real-Time Garbage Collector, переносит дорогую операцию удаления в обычный (не реалтаймовый) поток

shredder - работает в многопоточных контекстах и имеет режим фоновой сборки (concurrent collection), когда мусор собирается параллельно основной работе программы без длительных остановок

dumpster - фокусируется на простоте и однопоточной производительности

Реалтаймовость нужна при программировании станков. А по новой политике Россия лидирующая станкостроительная держава мира (будет).

Исправление Saakx, :

Если Shenandoah написан на C++, значит не далёк тот день, когда его заменят на Rust.
Так и вышло:

rsgc - вдохновлён сборщиком Shenandoah
https://docs.rs/rsgc/latest/rsgc/

rtgc - Real-Time Garbage Collector, переносит дорогую операцию удаления в обычный (не реалтаймовый) поток

shredder - работает в многопоточных контекстах и имеет режим фоновой сборки (concurrent collection), когда мусор собирается параллельно основной работе программы без длительных остановок

dumpster - фокусируется на простоте и однопоточной производительности

Реалтаймовость нужна при программировании станков. А по новой политике Россия лидирующая станкостроительная держава мира (будет).

Исправление Saakx, :

Если Shenandoah написан на C++, значит не далёк тот день, когда его заменят на Rust.
Так и вышло:

rsgc - вдохновлён сборщиком Shenandoah

rtgc - Real-Time Garbage Collector, переносит дорогую операцию удаления в обычный (не реалтаймовый) поток

shredder - работает в многопоточных контекстах и имеет режим фоновой сборки (concurrent collection), когда мусор собирается параллельно основной работе программы без длительных остановок

dumpster - фокусируется на простоте и однопоточной производительности

Реалтаймовость нужна при программировании станков. А по новой политике Россия лидирующая станкостроительная держава мира (будет).

Исходная версия Saakx, :

Если Shenandoah написан на C++, значит не далёк тот день, когда его заменят на Rust.
Так и вышло:
rsgc - вдохновлён сборщиком Shenandoah rtgc - Real-Time Garbage Collector, переносит дорогую операцию удаления в обычный (не реалтаймовый) поток shredder - работает в многопоточных контекстах и имеет режим фоновой сборки (concurrent collection), когда мусор собирается параллельно основной работе программы без длительных остановок
dumpster - фокусируется на простоте и однопоточной производительности.

Реалтаймовость нужна при программировании станков. А по новой политике Россия лидирующая станкостроительная держава мира (будет).