* README.md (Bugs): Replace "msecs" with "ms".
* doc/README.environment (GC_PAUSE_TIME_TARGET): Likewise.
* doc/gcdescr.md (Generational Collection and Dirty Bits): Likewise.
* alloc.c [!NO_CLOCK] (full_gc_total_time): Replace "msecs" with "ms"
in comment.
* cord/tests/de.c [WIN32] (beep): Likewise.
* pthread_support.c [USE_SPIN_LOCK] (GC_lock): Likewise.
* alloc.c [!GC_DISABLE_INCREMENTAL && !NO_CLOCK]
(GC_timeout_stop_func): Replace "msecs" with "ms" in the printed
string.
* alloc.c [!NO_CLOCK] (GC_try_to_collect_inner, GC_stopped_mark,
GC_finish_collection): Likewise.
* misc.c [!NO_CLOCK] (GC_dump_named): Likewise.
* reclaim.c [!NO_CLOCK] (GC_reclaim_all): Likewise.
* tests/test.c [!NO_CLOCK] (check_heap_stats): Likewise.
They will decrease with the number of processors if parallel marking
is enabled.
-(On 2007 vintage machines, GC times may be on the order of 5 msecs
+(On 2007 vintage machines, GC times may be on the order of 5 ms
per MB of accessible memory that needs to be scanned and processor.
Your mileage may vary.) The incremental/generational collection facility
may help in some cases.
word GC_gc_no = 0;
#ifndef NO_CLOCK
- static unsigned long full_gc_total_time = 0; /* in msecs, may wrap */
+ static unsigned long full_gc_total_time = 0; /* in ms, may wrap */
static GC_bool measure_performance = FALSE;
/* Do performance measurements if set to true (e.g., */
/* accumulation of the total time of full collections). */
time_diff = MS_TIME_DIFF(current_time,GC_start_time);
if (time_diff >= GC_time_limit) {
GC_COND_LOG_PRINTF(
- "Abandoning stopped marking after %lu msecs (attempt %d)\n",
+ "Abandoning stopped marking after %lu ms (attempt %d)\n",
time_diff, GC_n_attempts);
return(1);
}
if (measure_performance)
full_gc_total_time += time_diff; /* may wrap */
if (GC_print_stats)
- GC_log_printf("Complete collection took %lu msecs\n", time_diff);
+ GC_log_printf("Complete collection took %lu ms\n", time_diff);
}
# endif
if (GC_on_collection_event)
world_stopped_total_divisor = ++divisor;
GC_ASSERT(divisor != 0);
- GC_log_printf(
- "World-stopped marking took %lu msecs (%u in average)\n",
- time_diff, total_time / divisor);
+ GC_log_printf("World-stopped marking took %lu ms (%u in average)\n",
+ time_diff, total_time / divisor);
}
# endif
return(TRUE);
/* A convenient place to output finalization statistics. */
GC_print_finalization_stats();
# endif
- GC_log_printf("Finalize plus initiate sweep took %lu + %lu msecs\n",
+ GC_log_printf("Finalize plus initiate sweep took %lu + %lu ms\n",
MS_TIME_DIFF(finalize_time,start_time),
MS_TIME_DIFF(done_time,finalize_time));
}
}
#if defined(WIN32)
-# define beep() Beep(1000 /* Hz */, 300 /* msecs */)
+# define beep() Beep(1000 /* Hz */, 300 /* ms */)
#elif defined(MACINTOSH)
# define beep() SysBeep(1)
#else
to be transparent, it may cause unintended system call
failures. Use with caution.
-GC_PAUSE_TIME_TARGET - Set the desired garbage collector pause time in msecs.
- This only has an effect if incremental collection is
- enabled. If a collection requires appreciably more time
- than this, the client will be restarted, and the collector
- will need to do additional work to compensate. The
- special value "999999" indicates that pause time is
- unlimited, and the incremental collector will behave
- completely like a simple generational collector. If
- the collector is configured for parallel marking, and
- run on a multiprocessor, incremental collection should
- only be used with unlimited pause time.
+GC_PAUSE_TIME_TARGET - Set the desired garbage collector pause time in
+ milliseconds (ms). This only has an effect if incremental
+ collection is enabled. If a collection requires
+ appreciably more time than this, the client will be
+ restarted, and the collector will need to do additional
+ work to compensate. The special value "999999" indicates
+ that pause time is unlimited, and the incremental
+ collector will behave completely like a simple
+ generational collector. If the collector is configured
+ for parallel marking, and run on a multiprocessor,
+ incremental collection should only be used with unlimited
+ pause time.
GC_FULL_FREQUENCY - Set the desired number of partial collections between full
collections. Matters only if GC_incremental is set.
collection is started.
All collections initially run uninterrupted until a predetermined amount
-of time (50 msecs by default) has expired. If this allows the collection
+of time (50 ms by default) has expired. If this allows the collection
to complete entirely, we can avoid correcting for data structure modifications
during the collection. If it does not complete, we return control to the
mutator, and perform small amounts of additional GC work during those later
}
# ifndef NO_CLOCK
/* Note that the time is wrapped in ~49 days if sizeof(long)==4. */
- GC_printf("Time since GC init: %lu msecs\n",
+ GC_printf("Time since GC init: %lu ms\n",
MS_TIME_DIFF(current_time, GC_init_time));
# endif
# define SLEEP_THRESHOLD 12
/* Under Linux very short sleeps tend to wait until */
/* the current time quantum expires. On old Linux */
- /* kernels nanosleep (<= 2 msecs) just spins. */
+ /* kernels nanosleep (<= 2 ms) just spins. */
/* (Under 2.4, this happens only for real-time */
/* processes.) We want to minimize both behaviors */
/* here. */
struct timespec ts;
if (i > 24) i = 24;
- /* Don't wait for more than about 15 msecs, */
+ /* Don't wait for more than about 15 ms, */
/* even under extreme contention. */
ts.tv_sec = 0;
ts.tv_nsec = 1 << i;
CLOCK_TYPE done_time;
GET_TIME(done_time);
- GC_verbose_log_printf("Disposing of reclaim lists took %lu msecs\n",
+ GC_verbose_log_printf("Disposing of reclaim lists took %lu ms\n",
MS_TIME_DIFF(done_time,start_time));
}
# endif
# endif
GC_printf("Completed %u collections", (unsigned)GC_get_gc_no());
# ifndef NO_CLOCK
- GC_printf(" in %lu msecs", GC_get_full_gc_total_time());
+ GC_printf(" in %lu ms", GC_get_full_gc_total_time());
# endif
# ifdef PARALLEL_MARK
GC_printf(" (using %d marker threads)", GC_get_parallel() + 1);