Здравствуйте, TK, Вы писали:
TK>Здравствуйте, gandjustas, Вы писали:
G>>>>Правильно понял, что весь код можно на .net сделать так:
TK>>>Что тут сказать... Фазу map освоили. Reduce где???
G>>Ты о чем? Reduce — тупо сумма.
TK>Откуда такие познания? Скорее уж Reduce это тупо оператор.
TK>Например, можно минимальное значение возвра
И какая разница в принципе?
G>>Прости, а что ты пытаешься сравнить? Если у тебя ноды в кластере, то на передачу данных времени уйдет на три порядка больше, чем на работу кода по этой самой передаче.
TK>Так вы код нормальный пишите и порядков никаких не будет. 5мсек на отправку целого более чем достаточно.
А при чем тут код? Банальная передача инта по сети займет условно 1мс. Это на каждый iteration. У тебя итераций 1 000 000, то есть передача по сети отнимет около 16 минут.
130 сек оверхеда от dataflow на этом фоне потеряются. А в реальности будет еще хуже, потому что передать надо в две стороны.
TK>>>Где вообще все это в вашем коде? по коду же понятно, что на выходе будет исходное число и итераций — его и надо было хардкодить.
G>>Нигде, это и не нужно вообще. В твоем коде тоже нету отдельных нод.
TK>В моем коде за это отвечает — метод CreateWorkers. Работа с нодами скрыта за самодостаточным интерфейсом. Можно локально обрабатывать данные, можно удаленно. Это уже не принципиально.
То есть не принципиально какой код ты замеряешь? Тогда какой смысл твоего поста?
Ты еще не понял, что в случае удаленных узлов код будет кардинально другой?
G>>Если бы это были отдельные физические ноды, то код и библиотеки были бы совсем другие на обоих языках.
G>>Например для .NET это будет https://dotnet.github.io/orleans/ или (возможно) Akka.NET, а вовсе не Dataflow.
TK>Думаете, что orleans все за вас волшебным образом сделает?
А ты думаешь что go волшебным образом каналы прокинет на другой сервер?
Или что ты хочешь этим сказать?
Твои замеры не имеют никакого смысла для задачи, про которую ты говоришь.
А для задачи, которую ты реально решаешь в своем примере, код на .NET глубоко ошибочен.
Понятно?