|
Как увеличить производительность Node JS в Windows? | ☑ | ||
---|---|---|---|---|
0
Помогите
10.02.17
✎
19:21
|
Как увеличить производительность Node JS в Windows?
Как я понимаю она использует только одно ядро процессора. В мониторе ресурсов вижу что ни память ни диск ни сеть не загружены вообще от слова морковь, процессор загружен значительно, но только частично. Может есть какие-то более быстрые версии ноды под винду? Или если установить ее в виртуалке на линуксе то будет быстрее? Или от ОС не зависит ее скорость? На мощном корпоративном сервере она работает так же медленно как на моем домашнем компе. Кто-нибудь пробовал ее ускорить? |
|||
1
jsmith82
10.02.17
✎
19:40
|
Для использования нескольких ядер надо приделывать кластер, чтобы запускать несколько процессов и загружать несколько ядер.
|
|||
2
Лефмихалыч
10.02.17
✎
19:43
|
||||
3
Лефмихалыч
10.02.17
✎
19:46
|
собственно, как я и хотел написать, но постеснялся - нод целенаправленно однопроцессортый и однопоточный. Соответственно, надо запускать несколько нодов и каким-то прокси балансировать запросы к ним.
|
|||
4
Помогите
10.02.17
✎
19:47
|
(1) Блин. У меня только один процесс. Видимо никак не получится если он сам не умеет разделяться
|
|||
5
Помогите
10.02.17
✎
19:51
|
А может есть какая-то замена используемых нодовских библиотек, но только скомпилированных на С++ например?
|
|||
6
Serginio1
10.02.17
✎
19:54
|
Посмотри на .Net Core
|
|||
7
jsmith82
10.02.17
✎
19:57
|
Результат на Node.JS получается почти точно таким же, какой получается на чистом С++.
|
|||
8
Помогите
10.02.17
✎
20:00
|
(6) Посмотрел. не нашел Node JS написанной на .Net Core
|
|||
9
Помогите
10.02.17
✎
20:00
|
(7) Значит тормозные библиотеки. И их слишком много
|
|||
10
lock19
10.02.17
✎
20:29
|
(6) Может Go?
|
|||
11
Serginio1
10.02.17
✎
20:57
|
(10) Может и Go vs Erlang vs Elixir
http://rsdn.org/forum/flame.comp/6692473.flat (8) А что тебе нужно из Node JS, чего нет в Net Core? |
|||
12
Asmody
10.02.17
✎
21:04
|
(11) javascript?
|
|||
13
Serginio1
10.02.17
✎
21:16
|
>> А может есть какая-то замена используемых нодовских библиотек, но только скомпилированных на С++ например?
|
|||
14
Serginio1
10.02.17
✎
21:44
|
(7) Если бы все было так прекрасно, то не былобы ни asm.js ни WebAssembly.
Кстати Chrome 57 принесёт поддержку языков C и C++ для веб-сайтов http://4pda.ru/2017/02/06/335097/ Что касается WebAssembly WebAssembly призвана дополнить и работать вместе с JavaScript — с помощью API-интерфейсов WebAssembly JavaScript, вы можете загрузить модули WebAssembly в приложение JavaScript и обмениваться функциональность между ними. Это позволяет воспользоваться преимуществами производительности и мощности WebAssembly и выразительность и гибкость в JavaScript в тех же программах, даже если вы не знаете, как писать код WebAssembly. “ Сборка из C / C ++ для WebAssembly (ТБД) Когда вы написали модуль кода на языке , как C / C ++, вы можете скомпилировать его в .wasm с помощью инструмента Emscripten . Давайте посмотрим, как это работает. https://developer.mozilla.org/en-US/docs/WebAssembly |
|||
15
Кирпич
10.02.17
✎
23:37
|
Интересно, чего такое можно на ноде написать, что оно аж тормозит. Погоду чтоли считает он там. Затупил наверное, написал какую то глупость в коде, а разбираться ума не хватает. И так как автор конечно же гений, то первый вывод - нода однопоточная, потому и тормозит. Ноду же дураки писали, это же ясно как день.
|
|||
16
dmitryds
11.02.17
✎
00:03
|
(15) +1
|
|||
17
dmitryds
11.02.17
✎
00:05
|
(14) это вообще то для браузеров (WA), NodeJS тут не при делах
|
|||
18
Torquader
11.02.17
✎
02:54
|
Ребята, а как вы вообще себе представляете многопроцессорное приложение, если у него один сценарий кода.
Возможность параллельного исполнения часто оказывается смертельной для программистов, которые не очень понимают, как это работает. P.S. и JavaScript - это сборка мусора со всеми вытекающими последствиями и проблемами с памятью, когда процессов будет много. |
|||
19
Jump
11.02.17
✎
05:39
|
(0)А зачем? Тем более под винду?
А вообще - https://nodejs.org/api/cluster.html#cluster_how_it_works |
|||
20
Jump
11.02.17
✎
05:45
|
(0)>>Может есть какие-то более быстрые версии ноды под винду?
Нет >>Или если установить ее в виртуалке на линуксе то будет быстрее? Нет >>Или от ОС не зависит ее скорость? По большому счету - нет. >>На мощном корпоративном сервере она работает так же медленно как на моем домашнем компе. Тут все зависит от того какой сервер и какой комп. По идее на мощном сервере она должна работать медленнее, а на компе быстрее. >>Кто-нибудь пробовал ее ускорить? Взять процессор с более высокой частотой. Многопоточность уж точно никак не поможет ускорить. |
|||
21
Помогите
11.02.17
✎
07:07
|
(20) Ну в принципе я так и думал.
Щас процессор выбираю под это дело. Думаю взять i3, по тестам они опережают все остальные процессоры, и цена низкая. |
|||
22
dmitryds
11.02.17
✎
07:50
|
(21) для начала надо разобраться - что тормозит, а потом уже железо менять
|
|||
23
Jump
11.02.17
✎
08:24
|
(22) Да вроде про то что тормозит речи не было.
|
|||
24
Jump
11.02.17
✎
08:25
|
Вообще если задача не распаралеливается - ее просто нет смысла выполнять на нескольких процессорах.
Т.к это только замедлит работу, но никак не ускорит. |
|||
25
dmitryds
11.02.17
✎
08:34
|
(24) дык может у него все на *Sync процедурах
|
|||
26
Провинциальный 1сник
11.02.17
✎
08:34
|
Перепишите на Си и скомпилируйте. Джава зло.
|
|||
27
dmitryds
11.02.17
✎
08:35
|
(25) + а может вместо нормального запроса - результат в цикле обрабатывает..
|
|||
28
dmitryds
11.02.17
✎
08:37
|
||||
29
Кирпич
11.02.17
✎
08:54
|
(26) Не. Сначала ассемблер, потом си, потом си++ и только потом можно научиться правильно писать на javascript чтобы не тормозило.
|
|||
30
Serginio1
11.02.17
✎
09:38
|
(18) Сейчас вовсю используется асинхронное программирование.
Во многих случаях нужно запускать несколько задач одновременно |
|||
31
Jump
11.02.17
✎
10:06
|
(25) Какая разница на чем?
Если задачу можно распаралелить - это сделать в принципе несложно. А если она не паралелиться - это сделать невозможно в принципе. |
|||
32
jsmith82
11.02.17
✎
10:31
|
(31) Во-во
|
|||
33
dmitryds
11.02.17
✎
10:56
|
(31) операции ввода-вывода вполне себе выполняются в отдельных потоках (как обращения к БД) даже при одном процессе NodeJS.
|
|||
34
dmitryds
11.02.17
✎
10:58
|
(33) * как и обращения к БД
т.е. тормозить всю программу из-за запросов к бд или чтения файлов совсем не обязательно |
|||
35
Serginio1
11.02.17
✎
11:11
|
(34) Если она ничего не выполняет пока ждет результата запроса, то скорость выполнения программы будет та же.
Другое дело, в JS очень мало поддерживаемых типов. Из чисел это считай Double Все числа в JavaScript, как целые так и дробные, имеют тип Number и хранятся в 64-битном формате IEEE-754, также известном как «double precision». Number.isSafeInteger() ? Определяет, является ли переданное значение безопасным целым числом (числом в диапазоне от -(2:53 — 1) до 2^53 — 1). https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Number То есть целое это тот же Double только без дробной части В том, же C++ их значительно больше. При этом многие используют для ускорения расчетов asm.js, wasm Кроме того можно посмотреть тесты скорости в сравнении со всеми презираемым .Net Core https://github.com/aspnet/benchmarks |
|||
36
dmitryds
11.02.17
✎
11:26
|
(35) если правильно писать программы на NodeJS, то ждать надо только первого ответа, другие придут во время обработки предыдущих.
И какая разница сколько тут поддерживаемых типов? |
|||
37
dmitryds
11.02.17
✎
11:34
|
Уважаемый, Serginio!
Пожалуйста, изучите технологию ДО публикации каких-либо выводов. |
|||
38
Serginio1
11.02.17
✎
11:46
|
(36) А ты как думаешь? Что быстрее обработать процессору
действия с int или Double? Сколько занимает в пасяти массив байт или Double? Зачем используется asm.js и wasm (37) Буду стараться. Приводи свои контрвыводы по технологии ДО. Это Дебитовый Оборот? |
|||
39
Fragster
гуру
11.02.17
✎
12:02
|
воркеры (фоновые задания) как в 1с. единственное, воркер может в основной поток послать сообщение об окончании работы, о чем 1с может только мечтать.
ну а для многопользовательской работы - асинхронные процедуры. при их использовании утилизация обрудования может быть весьма высокой |
|||
40
Кирпич
11.02.17
✎
13:02
|
(38)а ты прям знаешь какой код генерит jit компилятор V8? Нода работает достаточно быстро, а чего там у автора вброса тормозит никто не выяснял, ди нафиг на мисте такие подробности :)
|
|||
41
dmitryds
11.02.17
✎
13:04
|
(38) извини, похоже мечУ бисер впустую...
|
|||
42
Fragster
гуру
11.02.17
✎
13:05
|
||||
43
eks1985
11.02.17
✎
13:08
|
https://nodejs.org/en/about/
Just because Node is designed without threads, doesn't mean you cannot take advantage of multiple cores in your environment. Child processes can be spawned by using our child_process.fork() API, and are designed to be easy to communicate with. Built upon that same interface is the cluster module, which allows you to share sockets between processes to enable load balancing over your cores. (15) 99% так оно и есть, что-то закопрокодил автор, но вместо чтения документации сразу начал странного. |
|||
44
eks1985
11.02.17
✎
13:25
|
(42) +1
Крутой пример, заменили ожидание результата синхронной функции на коллбэк - получили прирост производительности в 4 раза |
|||
45
Помогите
11.02.17
✎
14:33
|
(22) Так уже разобрались вроде что тормозит. Читай выше. Остается менять железо.
Какой проц посоветуете чтобы цена/скорость для нод жс была оптимальная? |
|||
46
Кирпич
11.02.17
✎
15:27
|
(45) тыщ за 80 бери комп. Должно хватить.
|
|||
47
Кирпич
11.02.17
✎
15:32
|
(45) а чо тормозит то. Выше ничего не написано. Только глупые советы менять языки и железо.
|
|||
48
Пузан
11.02.17
✎
15:41
|
(45) А сейчас какой процессор стоит?
|
|||
49
dmitryds
11.02.17
✎
15:44
|
(48) ясно же - тормозящий (и на мощном корпоративном сервере такой же))
|
|||
50
Пузан
11.02.17
✎
16:12
|
Давно слышал что типа выпускали процы с аппаратной реализацией интерпретатора Java. Может выковырять из какой-нибудь умной кофеварки. :)
|
|||
51
Сияющий в темноте
11.02.17
✎
16:55
|
Массивы не используйте массивы-они в javascript ассоциативные и очень медленные,если массив из овер дофина элементов,то придётся делить на части,чтобы быстро работало
|
|||
52
Помогите
11.02.17
✎
17:33
|
(47) Тормозит софт, и ускорить его как тут уже выяснили не возможно. Остается только ускорить железо.
|
|||
53
Помогите
11.02.17
✎
17:34
|
(48) AMD FX-4330
|
|||
54
Помогите
11.02.17
✎
17:34
|
(49) На сервере ксеон стоит
|
|||
55
Кирпич
11.02.17
✎
17:46
|
(52) тебе как бы намекали уже что сначала нужно правильно софт написать, а то никакое железо не поможет же.
|
|||
56
Пузан
11.02.17
✎
18:19
|
(52) Есть такая фишка как порядок сложности алгоритма. У нас целый раздел в курсе проектирования систем был, где мы для разных алгоритмов вычисляли порядок сложности. Так вот там фигурируют такие моменты (терминологию уже не помню), что при некоторых оценках уже не важно сколько мощности ты предоставишь алгоритму, если ты увеличишь производительность железа в 10 раз, то получишь прирост скорости расчетов всего, например, на 10%. Тут или применять другой алгоритм или смириться.
|
|||
57
eks1985
11.02.17
✎
19:48
|
(51) >> Массивы не используйте массивы-они в javascript ассоциативные и очень медленные,если массив из овер дофина элементов,то придётся делить на части,чтобы быстро работало
Да ты чо? Правда что ли? А если проверим? Забиваем массив из миллиона элементов случайными числами Выполняем операцию O(n) над массивом Время выполнения меньше секунды Это медленно? Ну тогда вы слишком много кушать - всмысле зажрались (с) console.log(new Date()); const arr = []; for (let i = 0; i < 1000000; i++) { arr.push(Math.random()); } const res = arr.reduce((res, key) => key > 0.5 ? res + 1 : res, 0); console.log('values > 0.5', res); console.log(new Date()); //2017-02-11T16:40:36.324Z //"values > 0.5" 499889 //2017-02-11T16:40:36.560Z |
|||
58
Помогите
11.02.17
✎
20:23
|
(55) Кто такое мог намекнуть? Шутник блин ))))
|
|||
59
Помогите
11.02.17
✎
20:24
|
(56) Брехня. Если поставить комп в два раза быстрее, то и процесс будет выполнен в два раза быстрее.
|
|||
60
Кирпич
11.02.17
✎
20:34
|
(59) ну можно компьютер купить, а можно грамотному программисту поставить задачу. Хотя ты прав. Компьютер дешевле программиста.
|
|||
61
dmitryds
11.02.17
✎
20:39
|
(60) похоже ему поможет осмыслить информацию в этой теме только недовольство шефа, когда купят комп, а скорость не поменяется)
|
|||
62
eks1985
11.02.17
✎
20:39
|
(60) По-моему ТС просто стебется, посколько до сих пор он так и не сказал что у него там тормозит.
|
|||
63
Кирпич
11.02.17
✎
20:45
|
(62) Мож стебется. Мож тупой. На мисте это не важно. Важно нафлудить до 1000.
|
|||
64
Torquader
12.02.17
✎
00:05
|
(57) У меня был массив структур, после того, как я перешёл на Си, вопросов со скоростью просто нет вообще.
Потом, arr.push - это не совсем выбор по элементу - это прямая запись в конец - вы мухлюете при тестах. Попробуйте рандомно повыбирать элементы массива. |
|||
65
Jump
12.02.17
✎
03:59
|
(62) А с чего ты решил что у него что-то тормозит?
|
|||
66
Jump
12.02.17
✎
04:00
|
(59) Не факт.
|
|||
67
Jump
12.02.17
✎
04:04
|
(56) Что за бред?
>>если ты увеличишь производительность железа в 10 раз, то получишь прирост скорости расчетов всего, например, на 10% Производительность на скорость вообще не влияет, никаким образом. Если вы увеличите производительность в 100раз, скорость при этом может как увеличиться, так и уменьшиться. |
|||
68
Пузан
12.02.17
✎
06:10
|
(67) Это не бред. Это теория алгоритмов, которая на практике работает. Вот по этому 1С-ников за программистов и не считают, потому что понаберут врачей, учителей, менеджеров по продажам, они напишут авнокод, а потом клянчат бабло на супер пупер железо. А после того как купили железо самое крутое, вдруг выясняется, что прирост скорости работы составляет считанные проценты, да и те в пределах погрешности измерения.
|
|||
69
Jump
12.02.17
✎
08:02
|
(68) При чем тут теория алгоритмов?
Вы утверждаете, что производительность увеличивает скорость. А это не так. Производительность на скорость никак не влияет. |
|||
70
Кирпич
12.02.17
✎
08:20
|
(69) а скорость на производительность хоть влияет?
|
|||
71
Пузан
12.02.17
✎
08:23
|
(69) Мы просто в терминах не сошлись и все. :)
|
|||
72
eks1985
12.02.17
✎
08:32
|
Скажем так скорость и производительность величины разные, но косвенно взаимосвязанные.
Например под скоростью часто понимается скорость выполнения одной операции, в веб например - скорость ответа на запрос. Под производительностью понимается возможность системы обрабатывать определенное количество операций в единицу времени При этом оценивая производительность часто оценивают ее деградацию при увеличении числа коннектов, а также саму возможность системы обрабатывать определенное количество запросов. При этом если говорят "система тормозит", то из одной такой фразы сразу невозможно понять проблема со скоростью или производительностью. Возможно система впринципеце обрабатывает медленно каждый единичный запрос - проблема со скоростью. А возможно при большом числе коннектов наступает деградация для последующих коннектов, они ждут в очереди например - проблема с производительностью. |
|||
73
Jump
12.02.17
✎
09:06
|
(70) Да, как правило повышая скорость повышается производительность при прочих равных.
Однако высокая скорость совсем не означает высокой производительности. |
|||
74
Злопчинский
12.02.17
✎
09:07
|
(72) ты это... не отвлекайся! сделал дело - гуляй смело! ;-)
|
|||
75
Кирпич
12.02.17
✎
09:14
|
(73) ну теперь раскрой нам секрет, что же такое производительность, в твоем понимании.
|
|||
76
Jump
12.02.17
✎
09:18
|
(75) Количество операций которое система способна выполнить за единицу времени.
|
|||
77
Злопчинский
12.02.17
✎
09:24
|
(76) а скорость?
|
|||
78
Кирпич
12.02.17
✎
09:28
|
(77) видимо быстрота перемещения компьютера по офису
|
|||
79
Злопчинский
12.02.17
✎
09:30
|
не.. для меня скорость - это сферичекский конь в вакууме.
а производительность - это то что есть в действительности... |
|||
80
Jump
12.02.17
✎
09:45
|
(77) Время выполнения одной операции.
|
|||
81
Jump
12.02.17
✎
09:50
|
(79) Ну вот к примеру надо выполнить рассчет.
Быстрый компьютер выполнит рассчет за секунду. Через секунду у тебя будет результат. Производительный компьютер выполнит за минуту тысячу расчетов. Через минуту у тебя будет результат. В первом случае - секунда, во втором случае минута. Намного дольше. Скорость низкая. Зато производительность офигенная. |
|||
82
Злопчинский
12.02.17
✎
09:52
|
(80) это длительность..?
скорость - это длительность, нормированная к единице измерения скорости..?тьфу какая-то тавтология..? |
|||
83
Кирпич
12.02.17
✎
09:53
|
(81) сам придумал такую теорию или на мисте прочитал?
|
|||
84
eks1985
12.02.17
✎
09:53
|
(74) Я разогреваюсь =)
|
|||
85
Jump
12.02.17
✎
09:54
|
Например рассчет 3D сцены.
Если ты играешь в игру - нужна скорость. Надо рассчитать сцену очень быстро, чтобы игрок не заметил лагов и тормозов, за долю секунды. Если ты просто рендеришь кучу сцен для дальнейшего использования тебе скорость не важна. Тебе в принципе наплевать будет результат через секунду, или через час. Главное чтобы к концу дня все сцены были рассчитаны. И пофиг что одна сцена будет рассчитана за минуту. |
|||
86
Jump
12.02.17
✎
09:54
|
(83) При чем тут теория? Это факт.
|
|||
87
eks1985
12.02.17
✎
09:55
|
В (81) все верно написано.
|
|||
88
Jump
12.02.17
✎
09:56
|
(82) Какая длительность?
Скорость это быстрота перемещения или быстрота выполнения какого-то действия. Т.е время затраченное на действие. |
|||
89
Злопчинский
12.02.17
✎
09:56
|
(85) > Главное чтобы к концу дня все сцены были рассчитаны.
отсюда вывод что нам надо хотя бы примерно знать скольо тратится времени на расчет однйо сцены... чтобы понять - влезем мы в конец рабочего дня или нет... вот уменя комп быстрый, но не производительный. проц нормальный, диски нормальные. но ворочается еле-еле |
|||
90
Jump
12.02.17
✎
09:59
|
(89) Разумеется.
Нужно знать и скорость и производительность. Причем эти вещи зачастую задаются на уровне алгоритмов. Можно сделать упор на максимально быстрое выполнение операции. Можно сделать упор на максимальное число выполненных операций. |
|||
91
Jump
12.02.17
✎
10:05
|
Яркий пример - серверное железо.
В большинстве своем заточено именно на производительность. При небольших нагрузках явно проигрывает более быстрому десктопмному, однако с ростом нагрузки десктопмное уже не справляется, а серверное продолжает неспешно тянуть лямку. Отсюда куча воплей множества идиотов, которые купили серверное железо за кучу баксов и спрашивают - а чё оно так медленно. Так никто и не обещал что будет быстро. Зато потянет в десять раз больше пользователей. |
|||
92
Кирпич
12.02.17
✎
10:09
|
Можно сделать упор на максимально быстрое выполнение операции.
Можно сделать упор на максимальное число выполненных операций. Либо выполнить 100 операций в секунду Либо выполнить в секунду 100 операций великолепная теория |
|||
93
Кирпич
12.02.17
✎
10:10
|
(91) так ты говоришь про производительность сервера, а не про производительность компьютера вообще.
|
|||
94
Jump
12.02.17
✎
10:13
|
(93) А какая разница называешь ты компьютер сервером или нет?
Это везде одинаково. |
|||
95
Jump
12.02.17
✎
10:16
|
(92) Не так.
Либо всеми силами стараться сделать одну операцию за секунду. Либо разбить операцию на две части. И выполнить за минуту обработку первой части сразу для тысячи операций. Прошла минута - ноль операций выполнена. Потом за минуту выполнить обработку второй части сразу для тысячи операций. Прошло две минуты - тысяча операций выполнено. Две минуты это гораздо медленнее чем одна секунда. Зато тысяча операций сразу. |
|||
96
Кирпич
12.02.17
✎
10:21
|
(95) ну так это и есть скорость или быстродействие.
один комп выполняет тысячу операций 2 минуты, второй выполняет тысячу операций за секунду. чо ты мне голову морочишь. |
|||
97
Jump
12.02.17
✎
10:27
|
(96) Один комп выполняет операцию за секунду.
За минуту 60, за две минуты - 120операций. Второй комп за секунду не выполнит ни одной операции. За минут тоже ноль, за две минуты 1000операций. |
|||
98
Jump
12.02.17
✎
10:32
|
(96) Ну вот представь надо скачивать файлы с удаленного компьютера.
Один файл качается 1час. Если тебе важна скорость - просто качаешь. Через час у тебя гарантированно будет один файл, и ты с ним сможешь работать. Это быстро. Но не производительно. За сутки - 24файла. Гораздо эффективнее сжать эти файлы в архив - ты будешь сутки ждать пока они сожмуться, зато потом в сжатом виде ты скачаешь за следующие сутки сразу 1000файлов. 1000файлов за двое суток это гораздо производительнее чем 48файлов за двое суток. |
|||
99
Злопчинский
12.02.17
✎
10:34
|
(97) а меряем в среднем?
|
|||
100
Злопчинский
12.02.17
✎
10:35
|
(98) некорректно. идет сравнение двую разных подсистем. подсистемы передачи файлов по инету и подсистемы архивирования, неприявзянной к инету.
|
|||
101
Пузан
12.02.17
✎
10:36
|
Я и говорю, что у нас просто в терминологии не состыковка :)
|
|||
102
Jump
12.02.17
✎
10:43
|
(99) Ну да.
Т.е весь фокус в том что иногда надо быстро выполнить одно действие и мгновенно получить результат, не задумываясь об эффективности. В другом случае нам важнее выполнить как можно больше действий за единицу времени. Тогда мы стараемся делать все очень эффективно. И нам не так уж важно, что результат нам нужно будет ждать гораздо дольше. |
|||
103
Jump
12.02.17
✎
10:47
|
(100) Задача стоит вообще в передаче. Неважно интернет там у тебя, или трубопровод с водой.
Ну к примеру - тебе надо прибить штакетник к забору. У тебя есть забор и куча штакетника в 200метрах от него. Если цель как можно быстрее прибить одну штакетину - берешь ее, бежишь 200метров, прибиваешь, бежишь за следующей. Если цель как можно больше штакетника прибить - долго и нудно грузишь всю кучу штакетника на телегу, и везешь к забору. Зато потом быстро и без беготни прибиваешь их все. |
|||
104
Злопчинский
12.02.17
✎
10:50
|
(103) некорректно. в первом случае достаточно одной единицы "работник". во втором случае нужно больше "работников", ибо тонну штакетника один работник не увезет...
|
|||
105
Кирпич
12.02.17
✎
10:51
|
(103) но результат то нам важен один - быстрее сделать забор
какая мне разница как ты делаешь забор, мне важно чтобы ты его сделал быстрее кто быстрее сделал забор тот и быстрее |
|||
106
Кирпич
12.02.17
✎
10:56
|
+(105) то же самое требуется от компьютера. чтобы быстрее делал работу. а как он это делает по барабану. пускай у него будет много процессоров или тактовая частота дикая или там алгоритмы какие то умные.
|
|||
107
Jump
12.02.17
✎
11:02
|
(105) Не всегда.
Иногда важно как быстро ты сделаешь одну операцию. Вот ты играешь в игру - тебе нужно рассчитать 10000 сцен. Ты не обрадуешься если компьютер посчитает тебе за минуту их все, и выдаст результат через минуту. Тебе надо чтобы одна сцена была гарантированно готова через 0,1секунды. Тебя не устроит если компьютер будет считать по 10000 сцен в минуту. |
|||
108
Злопчинский
12.02.17
✎
11:07
|
ну так пока и нет формального определения что такое "скорость". а что такое "производительность"
|
|||
109
Jump
12.02.17
✎
11:08
|
(108) Скорость - быстрота выполнения одной операции.
Производительность - среднее количество операций за единицу времени. |
|||
110
Злопчинский
12.02.17
✎
11:13
|
(109) чем выше скорость - тем выше производительность..?
|
|||
111
Jump
12.02.17
✎
11:13
|
Грубо говоря -
Быстрый компьютер обработает твой запрос одного пользователя за секунду. Если пользователей будет 500 - он выполнит все их запросы за 500секунд. Будут дикие тормоза. Приозводительный компьютер выполнит за десять секунд запрос одного пользователя. За те же десять секунд он выполнит запросы 500пользователей. В общем медленно, но без особых тормозов. |
|||
112
lock19
12.02.17
✎
11:16
|
А латентность что?
|
|||
113
Jump
12.02.17
✎
11:22
|
(112) В данном контексте это задержка, время отклика.
Компьютер быстрый - латентность низкая. Если компьютер производительный, латентность может быть очень высокой. Ждать отклика долго, зато сразу куча работы выполнена. |
|||
114
Кирпич
12.02.17
✎
11:25
|
(111) если взять два одинаковых компьютера и на одном запустить nginx, а на другом лабу первокурсника?
производительность и скорость обоих компьютеров одинаковая, а результаты какие то разные. |
|||
115
Jump
12.02.17
✎
11:58
|
(114) Ну если компьютеры одинаковые - и скорость и производительность у них будет одинаковая на одних и тех же задачах.
|
|||
116
Пузан
12.02.17
✎
12:21
|
(115) Т.е. алгоритм не имеет значение? Т.е. сортировка "пузырьком" будет такой же быстрой как и сортировка делением пополам?
|
|||
117
Пузан
12.02.17
✎
12:36
|
+ (116) Причем второй вариант сортировки будет быстрее даже без учета того что он прекрасно параллелится.
|
|||
118
Torquader
12.02.17
✎
13:29
|
Путаница из-за скорости и производительности возникает из-за того, что современные компьютеры многопоточные, то есть могут одновременно выполнять несколько операций. И сейчас стремятся не за скоростью одного потока, а за общей скоростью.
Соответственно, если решается однопоточная задача, то добавление производительности (без повышения скорости потока) её никак не ускорит. А вот добавление скорости потока, то есть увеличение скорости процессора и памяти - как раз и увеличит скорость. |
|||
119
Torquader
12.02.17
✎
13:30
|
(117) Быстрая сортировка перестановками относительно среднего и с делением по полам - он со второго шага хорошо параллелится, а переставляет только то, что нужно.
|
|||
120
Jump
12.02.17
✎
13:35
|
(116)Я же говорю на одинаковых задачах.
|
|||
121
Torquader
12.02.17
✎
13:53
|
Типичный показатель тормозов - выборка из базы без индекса.
Скорость падает не то, что в разы, а в десятки раз. И при больших объёмах всё упирается в скорость диска - остальное добавляет небольшие проценты. |
|||
122
Пузан
12.02.17
✎
14:21
|
(120) Так и там и там задача одинаковая - задача сортировки. Только алгоритмы разные.
|
|||
123
Пузан
12.02.17
✎
14:23
|
(119) Я привел пример, когда одна и та же задача решается значительно быстрее только за счет применения другого алгоритма, без покупки нового железа. Причем на одном ядре и одном потоке, без параллельных вычислений.
|
|||
124
dmitryds
12.02.17
✎
14:35
|
(0) как на счет выложить программу куда-нибудь для анализа?)
|
|||
125
Сияющий в темноте
12.02.17
✎
14:39
|
Хороший программист стоит гораздо дороже хорошего компьютера
И,сортировку на ассемблере не каждый программист напишет |
|||
126
Пузан
12.02.17
✎
14:41
|
(124) Щаз ага. Чтобы все поняли какой он авнокодер? Проще выпросить бабло на новый комп, но проще ровно до момента пока не выясниться, что это не помогает. Хотя у меня в практике был случай. В УПП расчет себестоимости проводился до трех суток, что стало в какой-то момент неприемлемо. Заказали совершенно новый сервер (старому на тот момент было что-то порядка лет пяти), рассчитывали его именно под 1С. Теперь расчет себестоимости проводится часов где-то 10. Разница в платформе как таковой, новые процессоры, новые винты, новая память (все шины быстрее), и рэйд на SAS 10, а не на SCSI 5. Как то так. Уже 5 лет работают - пока рады.
|
|||
127
Сияющий в темноте
12.02.17
✎
14:41
|
(124) В баночке с табличкой ^_^
|
|||
128
Сияющий в темноте
12.02.17
✎
14:43
|
(126) и код переписывать не захотели????
|
|||
129
Пузан
12.02.17
✎
14:43
|
(125) А причем тут сортировка на ассемблере? Алгоритм не зависит от инструмента. Пузырьковая сортировка написанная на 1С все-равно будет работать медленнее, чем сортировка "золотого сечения" написанная на том же 1С. Это вопрос именно алгоритма, а не языка программирования.
|
|||
130
Пузан
12.02.17
✎
14:44
|
(128) В типовой УПП переписать код расчета себестоимости? Я не сомневаюсь, что есть подобные герои, но что-то я очканул лезть туда.
|
|||
131
Пузан
12.02.17
✎
14:46
|
В (126) я написал исключение в моей практике, когда железо было реально дохлое и его замена на современное мало того что помогло, но и сейчас справляется с задачами.
|
|||
132
Сияющий в темноте
12.02.17
✎
14:55
|
(131)реально дохлое железо и загружается полчаса,когда его молодой собрать уже всю работу сделал-просто-некоторые ждут,когда их технику дорого купит музей,но тут им ничем не поможешь
|
|||
133
Jump
12.02.17
✎
15:23
|
(132) Загружается полчаса - это не характеристика железа.
Это скорее показатель сколько вы напихали в автозагрузку. |
|||
134
Помогите
12.02.17
✎
15:24
|
Короче понятно, производительный комп по вашему - это который производит много операций очень долго, а быстрый - это который очень быстро делает одну операцию.
Короче мне нужен быстрый комп. |
|||
135
Пузан
12.02.17
✎
18:41
|
(134) Я думаю тебе ничего не поможет. Разве только вытрясти у руководства для себя мощный комп, но рабочий комп программиста - это не продакшн, а значит бестолку.
|
|||
136
Помогите
12.02.17
✎
18:52
|
(135) Зачем просить кого-то, я и сам могу себе купить мощный комп. Щас главное выбрать самый быстрый процессор.
|
|||
137
eks1985
12.02.17
✎
22:17
|
Тяжелый случай...
|
|||
138
Fragster
гуру
12.02.17
✎
22:29
|
Междугородний автобус ломается посреди дороги.
Водитель говорит пассажирам: "Минут за 15 починю, можете пока в лес прогуляться" К нему подходит маленький мальчик. - Дяденька, а я знаю, что у Вас сломалось! - Иди, иди, мальчик, не мешайся! Водитель лезет под машину, и в чем-то там ковыряется. Проходит 15 минут. - Дяденька, а я знаю, что у Вас сломалось! - Отстань, мальчик, иди к маме! Проходит час. - Дяденька, а я знаю, что у Вас сломалось! - Иди к своей замечательной матери, пока монтеровкой не получил! Проходит два часа. Пассажиры нервничают. - Дяденька, а я знаю, что у Вас сломалось! Водила вылезает из-под машины, обреченно садится на землю: - Ну, говори, что у меня сломалось?! - АВТОБУС!!! |
|||
139
dmitryds
23.02.17
✎
09:40
|
Как работает новый сервер? ;-)
|
|||
140
Jump
23.02.17
✎
11:11
|
(134) Быстро и долго - понятия относительные.
Иногда скорость вообще не важна. Когда я запускаю сервер мне важно чтобы он отработал тысячу запросов за секунду. И мне не важно как быстро он будет обрабатывать один запрос, если время обработки не больше секунды. |
|||
141
Помогите
24.02.17
✎
09:13
|
(140) Тогда мне не нужно чтобы он обрабатывал мои запросы долго. Мне больше нравится быстро.
|
|||
142
Помогите
24.02.17
✎
09:14
|
(139) Да никак. На АМД сижу до сих пор. Разогнал до 4400ГГц только. Думаю кому бы его продать.
|
|||
143
dmitryds
24.02.17
✎
10:16
|
(142) насколько увеличилась скорость работы программы при таком разгоне?
|
|||
144
Помогите
24.02.17
✎
15:01
|
(143) на 10%
|
|||
145
dmitryds
24.02.17
✎
15:35
|
(144) быстрей уже не будет на других компах.
Может все же выложишь код? и кстати, сколько вхождений при поиске слова Sync в коде? |
|||
146
Помогите
25.02.17
✎
08:05
|
(145) Будет, если на Интел перейти.
Код как пример можно тут глянуть: https://github.com/webpack/webpack |
|||
147
Провинциальный 1сник
25.02.17
✎
08:10
|
(133) Да, кстати, вот только что установил XP под виртуалбоксом - грузится за пару секунд, быстрее чем на реальном железе. Это вовсе не означает, что система в виртуалке будет быстрее работатью. Просто инициализация виртуальных устройств идет быстрее, чем реальных.
|
|||
148
dmitryds
25.02.17
✎
08:28
|
(146) ну будет еще 10%, закажи платный аудит кода с NDA
|
|||
149
Помогите
25.02.17
✎
10:58
|
(148) Точно не 12%? Ты уверен?
Делать мне больше нечего аудит заказывать |
|||
150
Fragster
гуру
25.02.17
✎
11:27
|
(149) я так понимаю, рального кода мы не увидим
|
|||
151
Fragster
гуру
25.02.17
✎
11:27
|
*реального
|
|||
152
Помогите
25.02.17
✎
15:34
|
(150) Чуть выше смотри ссылку
|
|||
153
Fragster
гуру
25.02.17
✎
23:57
|
(152) ссылка на вебпак имеет отношение к реально выполняемому коду чуть более, чем никакого
|
|||
154
Fragster
гуру
25.02.17
✎
23:58
|
или проблема в скорости упаковки и отдачи другого кода?
|
|||
155
Кирпич
26.02.17
✎
00:02
|
(154) да не парься. это тролль. у них сейчас весеннее обострение.
|
|||
156
dmitryds
26.02.17
✎
10:19
|
(155) а может Стас пытается разболтать пользователей)
|
|||
157
Помогите
26.02.17
✎
13:12
|
(153) Ты какую-то ерунду написао
|
|||
158
Помогите
26.02.17
✎
13:13
|
(154) Конечно. Для чего еще обычно используется вебпак?
|
|||
159
Fragster
гуру
26.02.17
✎
14:17
|
(158) ну хз. обычно он используется намного реже, чем, собственно, тот код, который им обрабатывается
|
|||
160
Помогите
26.02.17
✎
17:19
|
(159) Ага. Зато тормозит намного больше.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |