1
0
Fork 0

Added property/method class definition performance tests

closure/master
Mike Gerwitz 2011-03-10 23:32:33 -05:00
parent cdc88bea4c
commit a8767a1da0
9 changed files with 418 additions and 0 deletions

View File

@ -0,0 +1,47 @@
/**
* Tests amount of time taken to declare 1000 classes with a few members,
* private keyword
*
* Copyright (C) 2010 Mike Gerwitz
*
* This file is part of ease.js.
*
* ease.js is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author Mike Gerwitz
* @package performance
*/
var common = require( __dirname + '/common.js' ),
Class = common.require( 'class' )
count = 1000
;
common.test( function()
{
var i = count;
while ( i-- )
{
Class( {
'private a': function() {},
'private b': function() {},
'private c': function() {},
} );
}
}, count, 'Declare ' + count + ' anonymous classes with private members' );

View File

@ -0,0 +1,47 @@
/**
* Tests amount of time taken to declare 1000 classes with a few members,
* protected keyword
*
* Copyright (C) 2010 Mike Gerwitz
*
* This file is part of ease.js.
*
* ease.js is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author Mike Gerwitz
* @package performance
*/
var common = require( __dirname + '/common.js' ),
Class = common.require( 'class' )
count = 1000
;
common.test( function()
{
var i = count;
while ( i-- )
{
Class( {
'protected a': function() {},
'protected b': function() {},
'protected c': function() {},
} );
}
}, count, 'Declare ' + count + ' anonymous classes with protected members' );

View File

@ -0,0 +1,47 @@
/**
* Tests amount of time taken to declare 1000 classes with a few members, public
* keyword
*
* Copyright (C) 2010 Mike Gerwitz
*
* This file is part of ease.js.
*
* ease.js is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author Mike Gerwitz
* @package performance
*/
var common = require( __dirname + '/common.js' ),
Class = common.require( 'class' )
count = 1000
;
common.test( function()
{
var i = count;
while ( i-- )
{
Class( {
'public a': function() {},
'public b': function() {},
'public c': function() {},
} );
}
}, count, 'Declare ' + count + ' anonymous classes with public members' );

View File

@ -0,0 +1,47 @@
/**
* Tests amount of time taken to declare 1000 classes with a few members, no
* keywords
*
* Copyright (C) 2010 Mike Gerwitz
*
* This file is part of ease.js.
*
* ease.js is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author Mike Gerwitz
* @package performance
*/
var common = require( __dirname + '/common.js' ),
Class = common.require( 'class' )
count = 1000
;
common.test( function()
{
var i = count;
while ( i-- )
{
Class( {
a: function() {},
b: function() {},
c: function() {},
} );
}
}, count, 'Declare ' + count + ' anonymous classes with few methods' );

View File

@ -0,0 +1,42 @@
/**
* Tests amount of time taken to declare 1000 classes
*
* Copyright (C) 2010 Mike Gerwitz
*
* This file is part of ease.js.
*
* ease.js is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author Mike Gerwitz
* @package performance
*/
var common = require( __dirname + '/common.js' ),
Class = common.require( 'class' )
count = 1000
;
common.test( function()
{
var i = count;
while ( i-- )
{
Class( 'Foo', {} );
}
}, count, 'Declare ' + count + ' empty named classes' );

View File

@ -0,0 +1,47 @@
/**
* Tests amount of time taken to declare 1000 classes with a few properties,
* private keyword
*
* Copyright (C) 2010 Mike Gerwitz
*
* This file is part of ease.js.
*
* ease.js is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author Mike Gerwitz
* @package performance
*/
var common = require( __dirname + '/common.js' ),
Class = common.require( 'class' )
count = 1000
;
common.test( function()
{
var i = count;
while ( i-- )
{
Class( {
'private a': 'foo',
'private b': 10,
'private c': false,
} );
}
}, count, 'Declare ' + count + ' anonymous classes with private properties' );

View File

@ -0,0 +1,47 @@
/**
* Tests amount of time taken to declare 1000 classes with a few properties,
* protected keyword
*
* Copyright (C) 2010 Mike Gerwitz
*
* This file is part of ease.js.
*
* ease.js is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author Mike Gerwitz
* @package performance
*/
var common = require( __dirname + '/common.js' ),
Class = common.require( 'class' )
count = 1000
;
common.test( function()
{
var i = count;
while ( i-- )
{
Class( {
'protected a': 'foo',
'protected b': 10,
'protected c': false,
} );
}
}, count, 'Declare ' + count + ' anonymous classes with protected properties' );

View File

@ -0,0 +1,47 @@
/**
* Tests amount of time taken to declare 1000 classes with a few properties,
* public keyword
*
* Copyright (C) 2010 Mike Gerwitz
*
* This file is part of ease.js.
*
* ease.js is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author Mike Gerwitz
* @package performance
*/
var common = require( __dirname + '/common.js' ),
Class = common.require( 'class' )
count = 1000
;
common.test( function()
{
var i = count;
while ( i-- )
{
Class( {
'public a': 'foo',
'public b': 10,
'public c': false,
} );
}
}, count, 'Declare ' + count + ' anonymous classes with public properties' );

View File

@ -0,0 +1,47 @@
/**
* Tests amount of time taken to declare 1000 classes with few properties, no
* keywords
*
* Copyright (C) 2010 Mike Gerwitz
*
* This file is part of ease.js.
*
* ease.js is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author Mike Gerwitz
* @package performance
*/
var common = require( __dirname + '/common.js' ),
Class = common.require( 'class' )
count = 1000
;
common.test( function()
{
var i = count;
while ( i-- )
{
Class( {
a: 'foo',
b: 10,
c: false,
} );
}
}, count, 'Declare ' + count + ' anonymous classes with few properties' );