Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chromium/acdc4gc
https://github.com/chromium/acdc4gc
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/chromium/acdc4gc
- Owner: chromium
- License: apache-2.0
- Archived: true
- Created: 2014-07-29T19:19:41.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2014-07-29T19:52:36.000Z (over 10 years ago)
- Last Synced: 2024-09-28T17:40:56.397Z (about 2 months ago)
- Language: JavaScript
- Size: 117 KB
- Stars: 9
- Watchers: 10
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README
- License: LICENSE
Awesome Lists containing this project
README
// Copyright 2014 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.ACDC for JavaScript (ACDC-JS)
===================================Usage:
$ [your_vm] acdc.js
runs the default settings of ACDC-JS.
ACDC-JS can be configured through the following CLI parameters (default values are shown):
timeQuantum: 1048576
benchmarkDuration: 100
minLiveness: 1
maxLiveness: 10
minSize: 8
maxSize: 64
minRootDistance: 1
maxRootDistance: 20
minOutDegree: 0
maxOutDegree: 5
minCycleSize: 1
maxCycleSize: 20
deallocationDelay: 0
accessMemory: true
readOnlyAccess: false
listHeapRatio: -1
logLevel: 4
timer: 3
cpuClock: 2000000Input description
===================Example:
$ [your_vm] acdc.js -- cpuClock 3000000 maxSize 128 maxLiveness 20Parameters in detail:
timeQuantum: represents the number of bytes ACDC-JS allocates until it advances in time
benchmarkDuration: number of timeQuanta that advance before termination
minLiveness: min. object liveness. Given in timeQuanta
maxLiveness: max. object liveness. Given in timeQuanta
minSize: min. object size in bytes (approximately)
maxSize: max. object size in bytes (approximately)
minRootDistance: min. distance from allocated objects to roots
maxRootDistance: max. distance from allocated objects to roots
minOutDegree: min. number of outgoing references
maxOutDegree: max. number of outgoing references
minCycleSize: min. size of cycles in allocated objects
maxCycleSize: max. size of cycles in allocated objects
deallocationDelay: delays the deallocation of expired objects by a number of timeQuanta
accessMemory: [0|1] if 1, live objects are accessed after each timeQuantum
readOnlyAccess: [0|1] if 0, live objects are also modified upon access
listHeapRatio: -1 or a percentage between 0 and 100. Controls the amount of list-based
lifetime-size-classes over the amount of heap-based lifetime-size-classes
logLevel: between 1 and 4.
timer: controls time measurement method. Depends on VM.
1=performance.now(),
2=PerfMeasurement(PerfMeasurement.CPU_CYCLES), requires setting cpuClock option
3=Date.now(), less accurate, but portable
cpuClock: given in kHz. Required if timer==2Output description
===================Example Output:
> total runtime 5700
> allocation avg 36.870 stddev 23.015 relative 62.421%
> access avg 19.810 stddev 3.626 relative 18.302%total runtime (in ms): the whole ACDC-JS execution time.
allocation (in ms): time spent allocating. Reports arithmetic mean (avg),
sample standard deviation (stddev), and coefficient of variation (relative)
i.e., stddev/avgaccess (in ms): same as allocation, but reports time spent in accessing live objects