Advertisement
Guest User

Untitled

a guest
Jul 6th, 2015
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. #! iojs --expose-gc $mode
  2. // creates 10e3 maps with 10 elements each
  3. // runs 10e3 gc() after
  4. // modes: ["m", "w"]
  5. // m: use a normal map
  6. // w: use a weak map
  7. var maps;
  8. function create_maps(c, n) {
  9. maps = [];
  10. for (var m = 0; m < c; m++) {
  11. var map = new Map();
  12. var keys = [];
  13. for (var i = 0; i < n;i++) {
  14. keys[i] = {};
  15. map.set(keys[i], i);
  16. }
  17. maps[m] = {
  18. map: map,
  19. keys: keys
  20. };
  21. }
  22. }
  23. function create_weak_maps(c, n) {
  24. maps = [];
  25. for (var m = 0; m < c; m++) {
  26. var map = new WeakMap();
  27. var keys = [];
  28. for (var i = 0; i < n;i++) {
  29. keys[i] = {};
  30. map.set(keys[i], i);
  31. }
  32. maps[m] = {
  33. map: map,
  34. keys: keys
  35. };
  36. }
  37. }
  38.  
  39. if (process.argv[2]=='m') create_maps(10000, 10);
  40. if (process.argv[2]=='w') create_weak_maps(10000, 10);
  41. gc();
  42. gc();
  43. var start = process.hrtime();
  44. for (var i = 0; i < 1000; i++) {
  45. gc();
  46. }
  47. var end = process.hrtime();
  48. console.log(process.argv[2], end[0] - start[0], end[1] - start[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement