
Daniel
16.12.2016
10:27:58

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

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
в го - инициализация в каждом шаге весьма вероятна

Roman
16.12.2016
10:33:11

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

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
ну поэтому и быстрее, вероятно

Roman
16.12.2016
10:40:30

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

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

Мерлин
16.12.2016
10:46:44

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

Мерлин
16.12.2016
10:47:35

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

Google

Мерлин
16.12.2016
10:48:04

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

Мерлин
16.12.2016
10:48:46

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

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

Roman
16.12.2016
10:49:23
Но я перенес, осталось подождать :)

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
Подкиньте плиз или быстрый 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

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

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

Мерлин
16.12.2016
10:55:43

I
16.12.2016
10:55:57

Мерлин
16.12.2016
10:56:36

Dmitri
16.12.2016
10:56:36

Constantine
16.12.2016
10:57:13

Мерлин
16.12.2016
10:57:18

Dmitri
16.12.2016
10:57:59

Мерлин
16.12.2016
10:58:11
Может тогда вообще не идти в программисты?

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

Dmitri
16.12.2016
10:58:23

Мерлин
16.12.2016
10:58:59
Просто для того, чтобы понимать как оно там

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

Мерлин
16.12.2016
11:01:07