mirror of https://github.com/svaarala/duktape.git
Sami Vaarala
7 years ago
committed by
GitHub
11 changed files with 265 additions and 11 deletions
@ -0,0 +1,56 @@ |
|||||
|
/* |
||||
|
* Array literals of different sizes |
||||
|
*/ |
||||
|
|
||||
|
/*=== |
||||
|
0 |
||||
|
100 |
||||
|
200 |
||||
|
300 |
||||
|
400 |
||||
|
500 |
||||
|
600 |
||||
|
700 |
||||
|
800 |
||||
|
900 |
||||
|
done |
||||
|
===*/ |
||||
|
|
||||
|
function makeTestFunction(count) { |
||||
|
var src = []; |
||||
|
var i; |
||||
|
|
||||
|
src.push('(function () {'); |
||||
|
src.push(' var arr = ['); |
||||
|
for (i = 0; i < count; i++) { |
||||
|
src.push(' "val' + i + '",'); |
||||
|
} |
||||
|
src.push(' ];'); |
||||
|
src.push(' return arr;'); |
||||
|
src.push('})'); |
||||
|
return eval(src.join('\n') + '\n'); |
||||
|
} |
||||
|
|
||||
|
function test() { |
||||
|
var i, j, arr, fn; |
||||
|
|
||||
|
for (i = 0; i < 1000; i++) { |
||||
|
if ((i % 100) == 0) { |
||||
|
print(i); |
||||
|
} |
||||
|
fn = makeTestFunction(i); |
||||
|
for (j = 0; j < 100; j++) { |
||||
|
arr = fn(); |
||||
|
} |
||||
|
if (Object.keys(arr).length !== i) { |
||||
|
throw new Error('failed for i: ' + i); |
||||
|
} |
||||
|
} |
||||
|
print('done'); |
||||
|
} |
||||
|
|
||||
|
try { |
||||
|
test(); |
||||
|
} catch (e) { |
||||
|
print(e.stack || e); |
||||
|
} |
@ -0,0 +1,56 @@ |
|||||
|
/* |
||||
|
* Object literals of different sizes |
||||
|
*/ |
||||
|
|
||||
|
/*=== |
||||
|
0 |
||||
|
100 |
||||
|
200 |
||||
|
300 |
||||
|
400 |
||||
|
500 |
||||
|
600 |
||||
|
700 |
||||
|
800 |
||||
|
900 |
||||
|
done |
||||
|
===*/ |
||||
|
|
||||
|
function makeTestFunction(count) { |
||||
|
var src = []; |
||||
|
var i; |
||||
|
|
||||
|
src.push('(function () {'); |
||||
|
src.push(' var obj = {'); |
||||
|
for (i = 0; i < count; i++) { |
||||
|
src.push(' key' + i + ': "val' + i + '",'); |
||||
|
} |
||||
|
src.push(' };'); |
||||
|
src.push(' return obj;'); |
||||
|
src.push('})'); |
||||
|
return eval(src.join('\n') + '\n'); |
||||
|
} |
||||
|
|
||||
|
function test() { |
||||
|
var i, j, obj, fn; |
||||
|
|
||||
|
for (i = 0; i < 1000; i++) { |
||||
|
if ((i % 100) == 0) { |
||||
|
print(i); |
||||
|
} |
||||
|
fn = makeTestFunction(i); |
||||
|
for (j = 0; j < 100; j++) { |
||||
|
obj = fn(); |
||||
|
} |
||||
|
if (Object.keys(obj).length !== i) { |
||||
|
throw new Error('failed for i: ' + i); |
||||
|
} |
||||
|
} |
||||
|
print('done'); |
||||
|
} |
||||
|
|
||||
|
try { |
||||
|
test(); |
||||
|
} catch (e) { |
||||
|
print(e.stack || e); |
||||
|
} |
@ -0,0 +1,40 @@ |
|||||
|
/* |
||||
|
* Create Array using a literal |
||||
|
*/ |
||||
|
|
||||
|
if (typeof print !== 'function') { print = console.log; } |
||||
|
|
||||
|
function test() { |
||||
|
var arr; |
||||
|
var i; |
||||
|
|
||||
|
for (i = 0; i < 1e6; i++) { |
||||
|
arr = [ 'foo', 'bar', 'quux', 'baz', 'quuux', |
||||
|
'1', '2', '3', '4', '5', |
||||
|
'foo', 'bar', 'quux', 'baz', 'quuux', |
||||
|
'1', '2', '3', '4', '5', |
||||
|
'foo', 'bar', 'quux', 'baz', 'quuux', |
||||
|
'1', '2', '3', '4', '5', |
||||
|
'foo', 'bar', 'quux', 'baz', 'quuux', |
||||
|
'1', '2', '3', '4', '5', |
||||
|
'foo', 'bar', 'quux', 'baz', 'quuux', |
||||
|
'1', '2', '3', '4', '5', |
||||
|
'foo', 'bar', 'quux', 'baz', 'quuux', |
||||
|
'1', '2', '3', '4', '5', |
||||
|
'foo', 'bar', 'quux', 'baz', 'quuux', |
||||
|
'1', '2', '3', '4', '5', |
||||
|
'foo', 'bar', 'quux', 'baz', 'quuux', |
||||
|
'1', '2', '3', '4', '5', |
||||
|
'foo', 'bar', 'quux', 'baz', 'quuux', |
||||
|
'1', '2', '3', '4', '5', |
||||
|
'foo', 'bar', 'quux', 'baz', 'quuux', |
||||
|
'1', '2', '3', '4', '5' ]; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
try { |
||||
|
test(); |
||||
|
} catch (e) { |
||||
|
print(e.stack || e); |
||||
|
throw e; |
||||
|
} |
@ -0,0 +1,21 @@ |
|||||
|
/* |
||||
|
* Create Array using a literal |
||||
|
*/ |
||||
|
|
||||
|
if (typeof print !== 'function') { print = console.log; } |
||||
|
|
||||
|
function test() { |
||||
|
var arr; |
||||
|
var i; |
||||
|
|
||||
|
for (i = 0; i < 1e6; i++) { |
||||
|
arr = [ 'foo', 'bar', 'quux' ]; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
try { |
||||
|
test(); |
||||
|
} catch (e) { |
||||
|
print(e.stack || e); |
||||
|
throw e; |
||||
|
} |
Loading…
Reference in new issue