Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! iojs --expose-gc $mode
- // creates 10e3 maps with 10 elements each
- // runs 10e3 gc() after
- // modes: ["m", "w"]
- // m: use a normal map
- // w: use a weak map
- var maps;
- function create_maps(c, n) {
- maps = [];
- for (var m = 0; m < c; m++) {
- var map = new Map();
- var keys = [];
- for (var i = 0; i < n;i++) {
- keys[i] = {};
- map.set(keys[i], i);
- }
- maps[m] = {
- map: map,
- keys: keys
- };
- }
- }
- function create_weak_maps(c, n) {
- maps = [];
- for (var m = 0; m < c; m++) {
- var map = new WeakMap();
- var keys = [];
- for (var i = 0; i < n;i++) {
- keys[i] = {};
- map.set(keys[i], i);
- }
- maps[m] = {
- map: map,
- keys: keys
- };
- }
- }
- if (process.argv[2]=='m') create_maps(10000, 10);
- if (process.argv[2]=='w') create_weak_maps(10000, 10);
- gc();
- gc();
- var start = process.hrtime();
- for (var i = 0; i < 1000; i++) {
- gc();
- }
- var end = process.hrtime();
- console.log(process.argv[2], end[0] - start[0], end[1] - start[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement