function runTests() {
const testCount = 1000;
const testArrays = [];
for (let i = 0; i < testCount; i++) {
const arrayLength = Math.round(Math.random() * 100);
const array = [];
for (let i = 0; i < arrayLength; i++) {
array.push(Math.random() * 10);
}
testArrays.push(array);
}
console.time('stringifyCompare');
for (let i = 0; i < testCount - 1; i++) {
compareStringify(testArrays[i], testArrays[i + 1]);
}
console.timeEnd('stringifyCompare');
console.time('normalCompare');
for (let i = 0; i < testCount - 1; i++) {
compareTheRightWay(testArrays[i], testArrays[i + 1]);
}
console.timeEnd('normalCompare');
}
function compareStringify(first, second) {
return JSON.stringify(first) == JSON.stringify(second);
}
function compareTheRightWay(first, second) {
if (first.length != second.length) {
return false;
}
for (let i = 0; i < first.length; i++) {
if (first[i] != second[i]) {
return false;
}
}
return true;
}
runTests();
apt-get install libatk-adaptor libgail-common
// webpack.config
module.exports = {
module: {
rules: [
{
oneOf: [
{
test: /\.(js|jsx|ts|tsx)$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
options: {
cacheDirectory: true,
},
},
{
use: 'file-loader',
exclude: [/\.(js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/],
},
// ** STOP ** Are you adding a new loader?
// Make sure to add the new loader(s) before the "file" loader.
],
},
],
},
plugins: [
new ForkTsCheckerWebpackPlugin({
async: true,
useTypescriptIncrementalApi: true,
checkSyntacticErrors: true,
eslint: true,
}),
],
};
// babelrc
{
"presets": [
"@babel/preset-env",
"@babel/preset-typescript"
],
}