1 Сколько байт занимает элемент массива, зависит от типа массива, ну еще можно узнать вот так. let float64 = new Float64Array();
console.log(float64.BYTES_PER_ELEMENT) // 8
let int32 = new Uint32Array();
console.log(int32.BYTES_PER_ELEMENT) // 4
Очень минимальные изменение, у меня ушло на весь проект 15 минут для замены Object на BaseObject
Я делал так: Открыл старый добрый тотал командр Alt+F7 поиск Object -> файлы на панель, далее F4 и через notepad++ быстренько подправил.
можно еще перекинуть все файлы на редактор и через поиск и замену «найти и заменить во всех открытых вкладках».
Взгляните на инструкцию к нашим мотоциклами, там все просто "просто возьмите болванку и по чертежу, сделайте деталь", a тут какаета кнопка, меню. Ну а так слово как по мне паразит.
Забавно, я думаю после вашей статьи, РТ может сделает верификацию мобильных номеров при заключении договора.
Немного другой сучий:
Мне после покупки номера от белайн ( через 6 месяцев) названивали коллекторы/смс с угрозами погасить долг некто Алексея Г. ( я каждому коллектору объяснял, что я совсем другой человек и знать не знаю — этого человека и не хочу, оставите меня в покое).
Через год звонков, я уже знал где этот человек живет ( причем не долёко совсем от офиса где я работаю), на какой машине ездит, сколько у него детей итд.
После того как номер не используется вроде 3 месяца, сотовый оператор перепадает номер обратно в оборот.
var wasmCode = new Uint8Array([0,97,115,109,1,0,0,0,1,136,128,128,128,0,1,96,3,127,127,127,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,157,128,128,128,0,2,6,109,101,109,111,114,121,2,0,16,95,90,56,105,110,95,97,114,114,97,121,80,75,105,105,105,0,0,10,190,128,128,128,0,1,184,128,128,128,0,1,1,127,2,64,2,64,32,1,69,13,0,65,0,33,3,3,64,32,0,40,2,0,32,2,70,13,2,32,0,65,4,106,33,0,32,3,65,1,106,34,3,32,1,73,13,0,11,11,65,127,15,11,32,3,11]);
var wasmInstance = new WebAssembly.Instance(WebAssembly.Module(wasmCode));
exports.in_array = wasmInstance.exports._Z8in_arrayPKiii;
Регулярные выражения полностью доступны без флага --harmony.
Есть хороший сайт который показывает что работает, а что нет.
node.green
Пробелы легче контролировать в консольной ide, хотя за такое по рукам надо бить за правки на сервере.
Был есть еще Lazarus win/linux, Delphi не был таким ограниченным, сейчас продукт стал кросплатформеным.
let float64 = new Float64Array();
console.log(float64.BYTES_PER_ELEMENT) // 8
let int32 = new Uint32Array();
console.log(int32.BYTES_PER_ELEMENT) // 4
1 Mocha+Chai
2 Sinon
3 Nock для заглушек http ответов + Faker для генерации данных
4 Браузер тесты использую (безголовый хром) chrome-remote-interface + chrome-launcher
Я делал так: Открыл старый добрый тотал командр Alt+F7 поиск Object -> файлы на панель, далее F4 и через notepad++ быстренько подправил.
можно еще перекинуть все файлы на редактор и через поиск и замену «найти и заменить во всех открытых вкладках».
Взгляните на инструкцию к нашим мотоциклами, там все просто "просто возьмите болванку и по чертежу, сделайте деталь", a тут какаета кнопка, меню. Ну а так слово как по мне паразит.
Не верю что вы не нашли библиотеки для тестирования.
https://www.npmjs.com/package/mock-socket
Все гуглится chai+Websocket.
Можно и без type script, если есть тесты
До переписывания модуля с пхп 5.6 на ноду проект выдерживал 400-600k
пых упирается в оперативу 10гб 70% от полного объёма сервера.
Заменил на воду тогда 4 версия нагрузки ноль, сейчас уже 8.4.модуль обслуживает 7-10 млн в час. Нагрузка 20% ядра и 800 мб оперативный, вотакой опыт
Немного другой сучий:
Мне после покупки номера от белайн ( через 6 месяцев) названивали коллекторы/смс с угрозами погасить долг некто Алексея Г. ( я каждому коллектору объяснял, что я совсем другой человек и знать не знаю — этого человека и не хочу, оставите меня в покое).
Через год звонков, я уже знал где этот человек живет ( причем не долёко совсем от офиса где я работаю), на какой машине ездит, сколько у него детей итд.
После того как номер не используется вроде 3 месяца, сотовый оператор перепадает номер обратно в оборот.
Да, зловред может быть добавлен как веб-воркер
А если поймали троян (установили что-то с интернета) то в ярлыки браузера.
Ну для начала нужно понять почему поиск внутри цикла не работает, а дальше можно и на большом массиве проверить.
Пока не вижу плюсов в wasm, раз такая дорогая операция вызова, даже для массива не годится.
Я не использую обход массива на десятки и сотни тысяч элементов, эффективней будет сделать хэш массив.
экспортируем в
(module
(table 0 anyfunc)
(memory $0 1)
(export "memory" (memory $0))
(export "in_array" (func $_Z8in_arrayPKiii))
(func $_Z8in_arrayPKiii (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(block $label$0
(block $label$1
(br_if $label$1
(i32.eqz
(get_local $1)
)
)
(set_local $3
(i32.const 0)
)
(loop $label$2
(br_if $label$0
(i32.eq
(i32.load
(get_local $0)
)
(get_local $2)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 4)
)
)
(br_if $label$2
(i32.lt_u
(tee_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(get_local $1)
)
)
)
)
(return
(i32.const -1)
)
)
(get_local $3)
)
)
пытаемся применить и использовать в nodejs 8.4
подключаем хотим протестировать производительность
const array_helper = require('./lib/helpers/in_array/index');
let data = [1,876,324, 3424,234234,234234, 555];
var suite = new Benchmark.Suite;
console.log(array_helper.in_array(data, data.length, 234234)); // ответ всегда -1;
suite.add('test in array', function() {
array_helper.in_array(data, data.length, 234234) > -1;
}).add('indexof', function() {
data.indexOf(234234) > -1;
})
.on('cycle', function(event) {
console.log(String(event.target));
})
.run();
я конечно не шарю в с++ но сравнить а+б могу.