Вот так - a = [1,2,3,4,5,6,7,8,9,0]; b = []; b.push(a[0]); b.push(a[1]); b.push(a[2]); b.push(a[3]); b.push(a[4]); b.push(a[5]); b.push(a[6]);
ну так строка не получится
Array.prototype.join() тогда
А нет, тоже пустота.
Но в принципе всегда выдаёт строку. А что?
И что это?
маркер, указывающий на редко используемый блок?
fastjoin package
copilot найдёт, будет там
10.000 символов это заметно меньше мегабайта, а хорошо бы потестить даже не на мегабайтных строках, а на строках в несколько (десятков) мегабайт
пытаюсь запустить, крашится из-за нехватки памяти, мин. 5 и подберу значения
max-old-space-size ещё можешь увеличить
Там очень спорно конечно где-то его join опережает где-то нативный join опережает (например если Джойнить короткие элементы массива длинной в 2 и до 4 (длинной каждого элемента) то нативный в 10 раз быстрее работает) Экспериментально можно проследить на каких длинах строк или массивов нативный джоин начинает проигрывать и тд Но я делал генерацию массивов заранее а не на ходу
2 символьная строка на нативном быстрее только до ~5000 итераций, потом одинаково, а потом мой обгоняет
Идея в том что обычно нужна только 1 итерация
18 строк, по 16Мб каждая, 1 итерация: String Array.join(): 1.983s String FastArrayJoin(): 0.128ms
В хромиуме под Андроид нативный джойн у меня только с числами выигрывал Но есть одна мысль...
А почему такие маленькие объёмы? Это же меньше чем 300 Мб По какой причине ты не влезаешь в память?
Я не знаю, но думаю что у тебя что-то идёт не так, раз есть такой затык
Может я размер в байтах просто не правильно расчитывал для строк, надо перепроверить
Обсуждают сегодня