Skip to content

Commit

Permalink
bump gc threshold (#3908)
Browse files Browse the repository at this point in the history
* bump gc threshold

* add comment for threshold

* cmoments

* make number 2^20 for better alignment
  • Loading branch information
jasonwilliams authored Jul 9, 2024
1 parent 6bc78bf commit 38d0324
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion core/gc/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,9 @@ thread_local!(static BOA_GC: RefCell<BoaGc> = RefCell::new( BoaGc {

#[derive(Debug, Clone, Copy)]
struct GcConfig {
/// The threshold at which the garbage collector will trigger a collection.
threshold: usize,
/// The percentage of used space at which the garbage collector will trigger a collection.
used_space_percentage: usize,
}

Expand All @@ -63,7 +65,8 @@ struct GcConfig {
impl Default for GcConfig {
fn default() -> Self {
Self {
threshold: 1024,
// Start at 1MB, the nursary size for V8 is ~1-8MB and SM can be up to 16MB
threshold: 1_048_576,
used_space_percentage: 70,
}
}
Expand Down Expand Up @@ -191,6 +194,8 @@ impl Allocator {
if gc.runtime.bytes_allocated > gc.config.threshold {
Collector::collect(gc);

// Post collection check
// If the allocated bytes are still above the threshold, increase the threshold.
if gc.runtime.bytes_allocated
> gc.config.threshold / 100 * gc.config.used_space_percentage
{
Expand Down

0 comments on commit 38d0324

Please sign in to comment.