回答編集履歴

1

厳密モードにし忘れていて、varとか抜けていた。ES5はこれだから嫌なんだよ

2017/09/22 23:30

投稿

raccy
raccy

スコア21735

test CHANGED
@@ -18,6 +18,8 @@
18
18
 
19
19
  ```JavaScript
20
20
 
21
+ "use strict";
22
+
21
23
  function stringToCharCodeList(str) {
22
24
 
23
25
  return Array.prototype.map.call(str, function(c) {
@@ -72,7 +74,7 @@
72
74
 
73
75
  for (var i = 0, len = list.length; i < len; i += sliceSize) {
74
76
 
75
- slicedList = list.slice(i, i + sliceSize);
77
+ var slicedList = list.slice(i, i + sliceSize);
76
78
 
77
79
  str += String.fromCharCode.apply(null, slicedList);
78
80
 
@@ -86,15 +88,15 @@
86
88
 
87
89
  function checkConvert(str) {
88
90
 
89
- list = stringToCharCodeList(str);
91
+ var list = stringToCharCodeList(str);
90
-
92
+
91
- convertedStr = charCodeListToString(list);
93
+ var convertedStr = charCodeListToString(list);
92
-
94
+
93
- splitConvertedStr = charCodeListToStringSplit(list);
95
+ var splitConvertedStr = charCodeListToStringSplit(list);
94
-
96
+
95
- splitForConvertedStr = charCodeListToStringSplitFor(list);
97
+ var splitForConvertedStr = charCodeListToStringSplitFor(list);
96
-
98
+
97
- sliceConvertedStr = charCodeListToStringSlice(list, 8);
99
+ var sliceConvertedStr = charCodeListToStringSlice(list, 8);
98
100
 
99
101
  console.log(str +
100
102
 
@@ -134,6 +136,8 @@
134
136
 
135
137
  ```
136
138
 
139
+ "use strict";
140
+
137
141
  var Benchmark = require('benchmark')
138
142
 
139
143
 
@@ -180,7 +184,7 @@
180
184
 
181
185
  for (var i = 0, len = list.length; i < len; i += sliceSize) {
182
186
 
183
- slicedList = list.slice(i, i + sliceSize);
187
+ var slicedList = list.slice(i, i + sliceSize);
184
188
 
185
189
  str += String.fromCharCode.apply(null, slicedList);
186
190
 
@@ -294,27 +298,27 @@
294
298
 
295
299
  ```
296
300
 
297
- Bulk x 8,165 ops/sec ±1.88% (77 runs sampled)
301
+ Bulk x 7,640 ops/sec ±3.31% (79 runs sampled)
298
-
302
+
299
- Split x 506 ops/sec ±1.98% (77 runs sampled)
303
+ Split x 505 ops/sec ±2.49% (76 runs sampled)
300
-
304
+
301
- Split For x 476 ops/sec ±4.03% (73 runs sampled)
305
+ Split For x 502 ops/sec ±2.55% (75 runs sampled)
302
-
306
+
303
- Slice 1 x 97.70 ops/sec ±5.36% (65 runs sampled)
307
+ Slice 1 x 119 ops/sec ±2.77% (65 runs sampled)
304
-
308
+
305
- Slice 8 x 689 ops/sec ±2.55% (74 runs sampled)
309
+ Slice 8 x 740 ops/sec ±2.92% (76 runs sampled)
306
-
310
+
307
- Slice 64 x 2,250 ops/sec ±2.12% (78 runs sampled)
311
+ Slice 64 x 2,301 ops/sec ±2.49% (79 runs sampled)
308
-
312
+
309
- Slice 256 x 3,159 ops/sec ±1.61% (82 runs sampled)
313
+ Slice 256 x 3,166 ops/sec ±2.06% (80 runs sampled)
310
-
314
+
311
- Slice 1024 x 3,445 ops/sec ±2.12% (79 runs sampled)
315
+ Slice 1024 x 3,461 ops/sec ±2.14% (80 runs sampled)
312
-
316
+
313
- Slice 4096 x 3,533 ops/sec ±1.83% (81 runs sampled)
317
+ Slice 4096 x 3,455 ops/sec ±2.13% (79 runs sampled)
314
-
318
+
315
- Slice 16384 x 3,566 ops/sec ±2.00% (85 runs sampled)
319
+ Slice 16384 x 3,392 ops/sec ±2.57% (77 runs sampled)
316
-
320
+
317
- Slice 32767 x 3,500 ops/sec ±1.75% (83 runs sampled)```
321
+ Slice 32767 x 3,398 ops/sec ±1.97% (78 runs sampled)
318
322
 
319
323
  ```
320
324