Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script>
- /*
- padString1 finished in 652 ms
- padString2 finished in 2619 ms
- padString3 finished in 17 ms
- */
- function padString1(str, len, ch) {
- var len = len - str.length;
- var i = -1;
- while (++i < len) {
- str = ch + str;
- }
- return str;
- }
- function padString2(str, len, ch) {
- return Array(len + 1 - str.length).join(ch) + str;
- }
- function padString3 (str, len, ch) {
- str = String(str);
- if (!ch && ch !== 0) ch = ' ';
- len = len - str.length;
- if (len <= 0) return str;
- ch = ch + '';
- var pad = '';
- while (true) {
- if (len & 1) pad += ch;
- len >>= 1;
- if (len) ch += ch;
- else break;
- }
- return pad + str;
- }
- var timer = function(name) {
- var start = new Date();
- return {
- stop: function() {
- var end = new Date();
- var time = end.getTime() - start.getTime();
- console.log('Timer:', name, 'finished in', time, 'ms');
- }
- }
- };
- var padIter = 50000;
- var padLen = 1000;
- var t = timer('padString1');
- for (var i=0; i<padIter; i++) {
- var str = padString1("hello world", padLen, " ");
- // console.log(str);
- }
- t.stop();
- var t = timer('padString2');
- for (var i=0; i<padIter; i++) {
- var str = padString2("hello world", padLen, " ");
- // console.log(str);
- }
- t.stop();
- var t = timer('padString3');
- for (var i=0; i<padIter; i++) {
- var str = padString3("hello world", padLen, " ");
- // console.log(str);
- }
- t.stop();
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement