генерация чисел!

xatchikzzz

Client
Регистрация
08.09.2010
Сообщения
566
Благодарностей
38
Баллы
28
Кто знает как можно быстро сгенерировать 350 миллионов по порядку от 1 до 350 лямов?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 694
Баллы
113

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 873
Благодарностей
1 120
Баллы
113
Боюсь, что-то зависнет))
 

xatchikzzz

Client
Регистрация
08.09.2010
Сообщения
566
Благодарностей
38
Баллы
28

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 451
Благодарностей
564
Баллы
113
Зачем генерировать от 1 до 350 000 000?
Зачем генерация, если и так известно, что 1 это 1, 2 это 2, а 350 млн это 350 млн.
 
  • Спасибо
Реакции: Astraport

xatchikzzz

Client
Регистрация
08.09.2010
Сообщения
566
Благодарностей
38
Баллы
28
Зачем генерировать от 1 до 350 000 000?
Зачем генерация, если и так известно, что 1 это 1, 2 это 2, а 350 млн это 350 млн.
мне надо собрать данные с 350 лямов профилей ) в один поток явно такое не сделать , а вот 50 уже лучше но при этом должно быть все на запросах, просто чтоб одно и тоже не парсить .. можно конечно рандом и чёрный список , но думал может какой еще варик есть
 

Bas

Client
Регистрация
15.12.2013
Сообщения
607
Благодарностей
251
Баллы
63
Быстро в общем не сделать такое .. .
Сгенерировать не проблема. Проблема с выводом куда-то всего этого добра. Хотел шаб накидать, 16 ядерник при тесте генерил 35 лямов 10 минут, нагерил файл в 2 гб, в котором всего 32 с небольшим млн и я выключил, надоело ждать :-) Притом я выводил на nvme2, если вывод на hdd, боюсь там совсем долго это дело будет :-) Хотя, если на ночь поставить, то почему бы и нет.
 

xatchikzzz

Client
Регистрация
08.09.2010
Сообщения
566
Благодарностей
38
Баллы
28
мдэ...
хренова.. .
 

xatchikzzz

Client
Регистрация
08.09.2010
Сообщения
566
Благодарностей
38
Баллы
28
Сгенерировать не проблема. Проблема с выводом куда-то всего этого добра. Хотел шаб накидать, 16 ядерник при тесте генерил 35 лямов 10 минут, нагерил файл в 2 гб, в котором всего 32 с небольшим млн и я выключил, надоело ждать :-) Притом я выводил на nvme2, если вывод на hdd, боюсь там совсем долго это дело будет :-) Хотя, если на ночь поставить, то почему бы и нет.
какой можешь подсказать варик мне надо заходить так сайт/профиль/48498 вот и так 350 лямов
 

frion-seo

Client
Регистрация
27.02.2011
Сообщения
506
Благодарностей
451
Баллы
63
так используй горбальную переменную
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 944
Благодарностей
4 353
Баллы
113
В Зенке есть кубик счетчика. Увеличивайте на 1 переменную с его помощью. Ну и в условии проверяйте чтобы он не был более 350М
 

xatchikzzz

Client
Регистрация
08.09.2010
Сообщения
566
Благодарностей
38
Баллы
28

xatchikzzz

Client
Регистрация
08.09.2010
Сообщения
566
Благодарностей
38
Баллы
28
В Зенке есть кубик счетчика. Увеличивайте на 1 переменную с его помощью. Ну и в условии проверяйте чтобы он не был более 350М
счетчик может и подошел бы для 1 потока а тут 50 минимум надо .. либо рандом число и проверка на черный список
 

Bas

Client
Регистрация
15.12.2013
Сообщения
607
Благодарностей
251
Баллы
63
какой можешь подсказать варик мне надо заходить так сайт/профиль/48498 вот и так 350 лямов
В БД храни последний использованный потоком id и увеличивай счетчик при каждом обращении. Ну и проверяй естественно что не вышел за рамки 350 млн. Как по мне изич, примерно в 350 млн раз проще чем генерить список, а потом с ним работать :-)
 
  • Спасибо
Реакции: frion-seo

frion-seo

Client
Регистрация
27.02.2011
Сообщения
506
Благодарностей
451
Баллы
63

Konrod_m

Client
Регистрация
18.09.2014
Сообщения
1 673
Благодарностей
922
Баллы
113
извините. что не по теме - чувствую себя мелкой букашкой в мире ботов со своими объемами.. 350 мл - это же население нескольких континентов...))
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 694
Баллы
113
нифига себе задача по генерированию кучи чисел , на проверку оказалась задачей из парсинга :-)
хотя какой вопрос, такие и ответы.
 
  • Спасибо
Реакции: TwistDanceR

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
тут код есть на сайте поиск
 

SergSh

Client
Регистрация
10.05.2017
Сообщения
541
Благодарностей
395
Баллы
63
можно в один список закинуть 50 строк
1-7000000
7000001-14000000
14000001-21000000
21000001-28000000
28000001-35000000
........
каждый поток берет строку, сплитует и первое число увеличивает до тех пор пока не приравняется к второму числу
можно при останове или ошибках перезаписывать в список, чтобы продолжить потом
 

xatchikzzz

Client
Регистрация
08.09.2010
Сообщения
566
Благодарностей
38
Баллы
28
В БД храни последний использованный потоком id и увеличивай счетчик при каждом обращении. Ну и проверяй естественно что не вышел за рамки 350 млн. Как по мне изич, примерно в 350 млн раз проще чем генерить список, а потом с ним работать :-)
можешь хотя б небольшим примером показат ька кэто сделать можно*? я никогда с базой не работал.. не понимаю как ..
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 694
Баллы
113
можно в один список закинуть 50 строк
1-7000000
7000001-14000000
14000001-21000000
21000001-28000000
28000001-35000000
........
каждый поток берет строку, сплитует и первое число увеличивает до тех пор пока не приравняется к второму числу
можно при останове или ошибках перезаписывать в список, чтобы продолжить потом
странно что не предлагают использовать общие переменные.... хотя там конечно лочить надо.... не.... плохой вариант....
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
ну а если говорить правильно. то твой комп выдержит такое ?
 

xatchikzzz

Client
Регистрация
08.09.2010
Сообщения
566
Благодарностей
38
Баллы
28
выдержать то выдержит ... но как я понял какое то просто рациональное решение тут отстутствует ...
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
не уверен
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
я могу написать код который выполнит паралельно в 350 лямов, и твой комп сдохнит просто
 

Bas

Client
Регистрация
15.12.2013
Сообщения
607
Благодарностей
251
Баллы
63
странно что не предлагают использовать общие переменные.... хотя там конечно лочить надо.... не.... плохой вариант....
350 млн за 10 часов переберет? У чела задача на года :-) А после ребута компа / серва глобальная переменная занулится ведь. Потом начинать все заново?
 
  • Спасибо
Реакции: orka13

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
а если время не важно то тебе написали уже. сделай цикл
 

Bas

Client
Регистрация
15.12.2013
Сообщения
607
Благодарностей
251
Баллы
63

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 451
Благодарностей
564
Баллы
113
Зачем база данных, зачем писать такой объем данных куда-то?

Вам уже подсказали, записывайте последний id, который был использован, дальше начинайте парсинг +1 от записанного числа.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 694
Баллы
113
350 млн за 10 часов переберет? У чела задача на года :-) А после ребута компа / серва глобальная переменная занулится ведь. Потом начинать все заново?
ну ведь можно и сохранить где переменную нужную.... например в профиле.... только тссс... это тема из плохого программирования :-)
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)