@proGO

Страница 335 из 1674
Roman
16.12.2016
10:28:02
Ну давайте, разомнемся.

Daniel
16.12.2016
10:28:11
то есть - 3 это краевой случай, я думаю

обычно - полтора два

Google
Roman
16.12.2016
10:28:33
package main import ( "fmt" "math/rand" ) var set = make(map[int]bool) func main() { for i := 0; i <= 1000000000; i++ { set [rand.Intn(30)] = true; } fmt.Printf("%v\n",set) }

Vladislav
16.12.2016
10:28:59
эээ, а если убрать вывод?

Daniel
16.12.2016
10:29:19
и обычно это никого не беспокоит, потому что мы обычно большую часть времени ждем внешний ресурс

Roman
16.12.2016
10:29:25
//: holding/SetOfInteger.java import java.util.*; public class SetOfInteger { public static void main(String[] args) { Random rand = new Random(47); Set<Integer> intset = new HashSet<Integer>(); for(int i = 0; i < 1000000000; i++) intset.add(rand.nextInt(30)); System.out.println(intset); } }

Вот эта функция тормозит -> rand.Intn(30)

Dmitri
16.12.2016
10:30:40
в ява-код закралась ошибка

Roman
16.12.2016
10:30:44
Без нее оба примера работаю одинаково

Dmitri
16.12.2016
10:30:47
Random rand = new Random(47);

вот тут new Random(42); же справа должно быть!

Vladislav
16.12.2016
10:31:24
?

Dmitri
16.12.2016
10:32:01
а вообще, из приходящего в голову к рандомам вопросы большие

Roman
16.12.2016
10:32:23
обычно - полтора два
Хочешь сказать что обычно Go в полтора - два раза медленее Java?

Daniel
16.12.2016
10:32:38
да, именно это и хочу сказать

Google
Dmitri
16.12.2016
10:32:41
в яве ты проинициализировал рандомную последовательность, а потом из этой последовательности тупо числа дергаешь

Daniel
16.12.2016
10:32:55
ява вообще очень быстрая, очень

Dmitri
16.12.2016
10:33:06
в го - инициализация в каждом шаге весьма вероятна

Daniel
16.12.2016
10:33:13
вполне способна с С/С++ тягаться

Dmitri
16.12.2016
10:33:46
Random rand = new Random(42); - вот эту строку в цикл перенеси

Daniel
16.12.2016
10:33:47
в го - инициализация в каждом шаге весьма вероятна
в го вообще нет встряхивания рандомайзера неявного

Dmitri
16.12.2016
10:34:02
в смысле, явного?

Daniel
16.12.2016
10:34:10
в смысле - неявного

Dmitri
16.12.2016
10:34:15
просто с рандомайзерами в го не работал

Daniel
16.12.2016
10:34:26
если ты сам его не встряхнул - он всегда одну последовательность выдает

это который math

crypto - там иначе, там тупо /dev/urandom читается, где есть

Phil
16.12.2016
10:36:38
если ты сам его не встряхнул - он всегда одну последовательность выдает
Ну так это кстати наверное и правильно. Чем за тебя думать

Dmitri
16.12.2016
10:36:51
ну и в java в примерах рандомные числа пихаются последовательно в HashSet, а в Go - true пихается в Map по рандомному индексу

Phil
16.12.2016
10:36:56
Dmitri
16.12.2016
10:37:15
какбэ, эти два куска кода несколько разные вещи делают?

Roman
16.12.2016
10:38:41
Random rand = new Random(42); - вот эту строку в цикл перенеси
Ну вот сделал. Еще быстрее стало :)

Dmitri
16.12.2016
10:38:56
не благодари)))

я же говорил, весь секрет - 42)

Google
Dmitri
16.12.2016
10:39:45
а тебе ява-приложуха теперь точно разные последовательности на каждом запуске дает? Или одну и ту же?

Daniel
16.12.2016
10:40:10
одну, конечно, раз одним числом встряхивается

Dmitri
16.12.2016
10:40:27
ну поэтому и быстрее, вероятно

Dmitri
16.12.2016
10:40:40
он тупо числа заинлайнил и норм

ему зашибись

Roman
16.12.2016
10:40:52
Как сделать случайную последовательность?

Dmitri
16.12.2016
10:41:26
а вот это - тема отдельной докторской диссертации...

Roman
16.12.2016
10:42:12
Ах, забыл итераторы же

Daniel
16.12.2016
10:42:25
Как сделать случайную последовательность?
псевдослучаюную. наносекундами текушими встряхивать.

Roman
16.12.2016
10:42:51
Вот так надо: Random rand = new Random(); int n = rand.nextInt(30);

Не, так и было

Roman
16.12.2016
10:43:53
Random Random ? :)

Dmitri
16.12.2016
10:44:18
Как сделать случайную последовательность?
есть еще такой вариант, вроде рабочий: func ReallyRandomInt() int { return 5; //случайное число, определено броском кубика }

псевдослучаюную. наносекундами текушими встряхивать.
только тогда чистота сравнения еще сильнее пострадает

Roman
16.12.2016
10:45:21
Первый запуск 47, второй 30, третий 24 секунды :)

Мерлин
16.12.2016
10:46:44
Dmitri
16.12.2016
10:47:14
а мне мужики говорили, не более трех, а то ты им играешь...

Uncel
16.12.2016
10:47:41
RDRND, не?

Google
Dmitri
16.12.2016
10:48:13
?
ну, встряхивать не более трех раз

Daniel
16.12.2016
10:49:04
это кругов в кембридже на привокзальной площади не более трех

Dmitri
16.12.2016
10:49:11
ну и эта, к теме вопроса... никого таки не смущает, что эти два куска кода делают разные вещи?

Roman
16.12.2016
10:49:23
перенеси set во внутрь main
Это мало на что влияет. Сейчас проблема в Random

Но я перенес, осталось подождать :)

Dmitri
16.12.2016
10:49:54
ну, очевидно, конкретно эта реализация Random в Go - тормоз

за остальные говорить не берусть

Мерлин
16.12.2016
10:50:04
Admin
ERROR: S client not available

Roman
16.12.2016
10:50:22
Daniel
16.12.2016
10:51:02
нет, нету

его предлагается на мапах делать

Roman
16.12.2016
10:51:21
Вот я написал первый солюшен SO

Dmitri
16.12.2016
10:51:29
ключевое слово? нет

Daniel
16.12.2016
10:51:49
сделай в яве на хештейбл

Roman
16.12.2016
10:52:21
Но я перенес, осталось подождать :)
Никакой разницы 2m30 -> 2m28

Подкиньте плиз или быстрый Rand в Go или медленный в Java

Daniel
16.12.2016
10:53:03
сделай в яве на хештейбл
на хешмапе, конечно же, извини

Google
Roman
16.12.2016
10:53:33
А я пока на кофе

Dmitri
16.12.2016
10:53:47
на кофе следаешь? Код в студию!)))

Мерлин
16.12.2016
10:53:54
Никакой разницы 2m30 -> 2m28
А генератор внутри main создаёшь?

Dmitri
16.12.2016
10:54:46
К слову, небольшой оффтоп: а мы чо вообще выясняем сейчас?)

Denis
16.12.2016
10:55:42
Привет! Подскажите - норм ли начать учиться кодить с go?) Меня засмущало, что в туториале всякие отсылки типа "это работает также как в С, только наоборот", а я не понимаю о чем речь)

Мерлин
16.12.2016
10:55:43
Dmitri
16.12.2016
10:56:36
Почему и зачем тормозит go
тут скорее "на каких кейсах тормозит Go" вопрос уместен. А ответ сам собой получится.

Я бы Си (не с++), а потом питон посоветовал
Уничтожаешь конкуренцию на корню?)))

Constantine
16.12.2016
10:57:13
тут скорее "на каких кейсах тормозит Go" вопрос уместен. А ответ сам собой получится.
на кейсе разработать бложек с комментами и админкой для себя

Мерлин
16.12.2016
10:57:18
Уничтожаешь конкуренцию на корню?)))
Не, просто го он после этих двух языков за неделю выучит

Dmitri
16.12.2016
10:57:59
Мерлин
16.12.2016
10:58:11
ЕСЛИ осилит эти 2 на старте)))
Неосилить си и питон?

Может тогда вообще не идти в программисты?

Denis
16.12.2016
10:58:20
А где считается выполненной задача "выучить язык"?) Применительно к первому языку:)

Dmitri
16.12.2016
10:58:23
Неосилить си и питон?
изучение C - штука бесконечная

Мерлин
16.12.2016
10:58:59
А где считается выполненной задача "выучить язык"?) Применительно к первому языку:)
Си? Ритчи от сих до сих проработать имхо для большинства случаев достаточно

Просто для того, чтобы понимать как оно там

Dmitri
16.12.2016
10:59:35
не, я не отрицаю, что в таком порядке юный падаван получит наилучшую базу

просто в этой последовательности "выхлоп" начнется после освоения второй части в виде питона

Страница 335 из 1674