Skip to content
This repository has been archived by the owner on Jul 24, 2024. It is now read-only.

Commit

Permalink
Add Isolated Memory Leak Scenarios
Browse files Browse the repository at this point in the history
* boolean
* function-bridge
* map
* string
  • Loading branch information
stefanpenner committed Nov 2, 2017
1 parent 0e8ce9c commit f2a09eb
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 0 deletions.
12 changes: 12 additions & 0 deletions memory-tests/_measure.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
"use strict";

module.exports = function iterateAndMeasure(fn, mod = 1000000) {
let count = 0;
while (true) {
count++;
fn();
if (count % mod === 0) {
console.log(process.memoryUsage().rss / 1000000);
}
}
}
6 changes: 6 additions & 0 deletions memory-tests/boolean.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
'use strict';

var types = require('../').types;
var iterateAndMeasure = require('./_measure');

iterateAndMeasure(function() { return types.Boolean(true).getValue(); });
15 changes: 15 additions & 0 deletions memory-tests/function-bridge.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"use strict";

var sass = require("../");
var iterateAndMeasure = require('./_measure');

iterateAndMeasure(function() {
sass.renderSync({
data: '#{headings()} { color: #08c; }',
functions: {
'headings()': function() {
return new sass.types.String('hi');
}
}
});
}, 10000);
17 changes: 17 additions & 0 deletions memory-tests/map.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
'use strict';

var types = require('../').types;
var iterateAndMeasure = require('./_measure');

iterateAndMeasure(function() {
var key = new types.String('the-key');
var value = new types.String('the-value');

var map = new types.Map(1);

map.setKey(0, key);
map.setValue(0, value);

map.getKey(0);
}, 100000);

6 changes: 6 additions & 0 deletions memory-tests/string.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
'use strict';

var types = require('../').types;
var iterateAndMeasure = require('./_measure');

iterateAndMeasure(function() { return new types.String('hi'); });

0 comments on commit f2a09eb

Please sign in to comment.