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

ssXXXss

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

Bas

Client
Регистрация
15.12.2013
Сообщения
607
Благодарностей
251
Баллы
63
можешь хотя б небольшим примером показат ька кэто сделать можно*? я никогда с базой не работал.. не понимаю как ..
Смотри мою конкурсную работу на первый конкурс шаблонов, ну или любую другую, где на примере показывают как работать с БД. Тебе в БД нужна всего 1 запись-счетчик, и просто при обращении к ней увеличивай счетчик на 1, предварительно получая само значение это, для использования в потоке.
 

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 871
Благодарностей
1 117
Баллы
113
интересно для чего такая задача...
 

Bas

Client
Регистрация
15.12.2013
Сообщения
607
Благодарностей
251
Баллы
63
Зачем база данных, зачем писать такой объем данных куда-то?

Вам уже подсказали, записывайте последний id, который был использован, дальше начинайте парсинг +1 от записанного числа.
Кто с чем работает, тому и проще в том накидать. Кто-то в эксель будет писать, кто-то в списки, а кто-то даже в списки сниппетами с форума, без локов, а потом в многопотоке будет сильно удивляться :-) Я работаю только с БД, вот и написал как сделал бы я :-) А где хранить 1 несчастное число так чтобы оно не слетело после перезагрузки ЗП / компа, каждый решает для себя сам. Я когда писал то сообщение, имел ввиду в первую очередь что нет смысла генерировать список на 350 лямов значений. Можно обойтись хранением всего одного.
 

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 448
Благодарностей
564
Баллы
113
Кто с чем работает, тому и проще в том накидать. Кто-то в эксель будет писать, кто-то в списки, а кто-то даже в списки сниппетами с форума, без локов, а потом в многопотоке будет сильно удивляться :-) Я работаю только с БД, вот и написал как сделал бы я :-) А где хранить 1 несчастное число так чтобы оно не слетело после перезагрузки ЗП / компа, каждый решает для себя сам. Я когда писал то сообщение, имел ввиду в первую очередь что нет смысла генерировать список на 350 лямов значений. Можно обойтись хранением всего одного.
Я это и подметил, что лучший вариант как по мне хранить только одно значение, а не все.

Про бд это уже кому как, но писать в список одно число особо не составит труда.
 

Bas

Client
Регистрация
15.12.2013
Сообщения
607
Благодарностей
251
Баллы
63
В любом случае ему куда-то надо будет спаршенные данные сохранять, не в 350 000 000 тхт'шников же :D*lol*:-) Так что пусть начинает сразу с верных шагов - разбирается как с БД работать, а то потом будет еще больше вопросов, в ответ на которые все равно будут советовать идти изучать базы данных :-)
 
  • Спасибо
Реакции: ebrwebrw

ssXXXss

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

ebrwebrw

Client
Регистрация
20.08.2018
Сообщения
221
Благодарностей
163
Баллы
43
Создать фаил number.txt, в него число 0 или 350 000 000

C#:
lock(SyncObject)
{
    string filename = "number.txt";
    string path = project.Directory+@"\"+filename;
    int number = Convert.ToInt32(File.ReadAllText(path))+1;//+1 или -1
    project.Variables["profile"].Value = number.ToString();
    File.WriteAllText(path,number.ToString());
}
PS выше уже написали про базы данных, но тут хотя бы логику поймет на примере
 
Последнее редактирование:

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Создать фаил number.txt, в него число 0 или 350 000 000

C#:
lock(SyncObject)
{
    string filename = "number.txt";
    string path = project.Directory+@"\"+filename;
    int number = Convert.ToInt32(File.ReadAllText(path))+1;//+1 или -1
    project.Variables["profile"].Value = number.ToString();
    File.WriteAllText(path,number.ToString());
}
сам на время проверял своим способом ?
 

ebrwebrw

Client
Регистрация
20.08.2018
Сообщения
221
Благодарностей
163
Баллы
43
По поводу скорости
За минуту в 100 потоков
50661

Будут проблемы при большем числе потоков?
Можно сразу базу данных

С чего то же нужно ему начинать, вот пускай хотя бы с этого

Перечитал и отредактировал сообщение, сонный уже
 
Последнее редактирование:

ssXXXss

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

ebrwebrw

Client
Регистрация
20.08.2018
Сообщения
221
Благодарностей
163
Баллы
43

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Бухло стынет, пей быстрей, а то убежит
))))))))) смешно. ты типо стыврик в новом профиле ??Н? )))))))))))))) или чувкк который обо мне инфу собрал, но согласись дадаже если я и бухаю я напишу код который за 15 минут выполнит, а ты лошара, я ведь прав
 

ebrwebrw

Client
Регистрация
20.08.2018
Сообщения
221
Благодарностей
163
Баллы
43
))))))))) смешно. ты типо стыврик в новом профиле ??Н? )))))))))))))) или чувкк который обо мне инфу собрал, но согласись дадаже если я и бухаю я напишу код который за 15 минут выполнит, а ты лошара, я ведь прав
Вот блин, прочитал ведь, думал уж чуть было в говно не наступил и успел во время ногу переставить, а нет, вляпался, выше в общем прочитай и обдумай, хотя в твоем состоянии это тяжело делать
 

ssXXXss

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

ebrwebrw

Client
Регистрация
20.08.2018
Сообщения
221
Благодарностей
163
Баллы
43
Его так давно не было, убежал из дурки опять что ли, в игнор его пожалуй добавлю, чего и другим советую, человек не адекватен
 
Последнее редактирование:

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Его так давно не было, убежал из дурки опять что ли, в игнор его пожалуй добавлю, чего и другим советую, человек не адекватен
что профиль сменил потому что под реальным профилем лошара ? а в игнор ты кдай своих сверстников, не можешь помочь не лезь
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
По поводу скорости
За минуту в 100 потоков
Посмотреть вложение 50661
Будут проблемы при большем числе потоков?
Можно хоть вычитать по 50-100-200, кидать в переменную проекта, с нею работать, если ошибка - остатки возвращать

еще можно разделить на несколько файлов как и писали 0 -34 999 999, 35 000 000 - 74 999 999,....
или сразу базу данных , так же разделить можно в случае чего( я хз нужно ли это?) и так же общаться каждый раз не за одним числом, а брать сразу диапазон и с ним работать а при ошибках возвращать остатки

с чего то же нужно ему начинать, вот пускай хотя бы с этого
прочитал твоё редактирование, вот ты реально под таблетками, такое написать только может не думавший человек
 

GreenWay

Client
Регистрация
11.05.2012
Сообщения
428
Благодарностей
132
Баллы
43
Я бы при такой задаче (1-350 000 000) генерил бы партиями списки по 1 000 000 и брал из них рандомом с удалением.
 

Phoenix78

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

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 527
Благодарностей
883
Баллы
113

malysh

Client
Регистрация
27.07.2017
Сообщения
420
Благодарностей
55
Баллы
28
ребята вы чего все заморочились на зенке, делается элементарно за 2 секунды, если кому ещё актуально, могу показать и рассказать
 

Konrod_m

Client
Регистрация
18.09.2014
Сообщения
1 662
Благодарностей
920
Баллы
113
ребята вы чего все заморочились на зенке, делается элементарно за 2 секунды, если кому ещё актуально, могу показать и рассказать
не актуально, но интересно. расскажите, если все так быстро и просто
 

malysh

Client
Регистрация
27.07.2017
Сообщения
420
Благодарностей
55
Баллы
28
не актуально, но интересно. расскажите, если все так быстро и просто
создаётся папка, в нём bat файл с текстом FOR /L %%i IN (1,1,350000000) DO echo %%i >> Result.txt . Далее запускаем батник в папке Result.txt будет список чисел, но так как чисел много, то и генериться они будут не за 5 минут конечно, но очень быстро
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
создаётся папка, в нём bat файл с текстом FOR /L %%i IN (1,1,350000000) DO echo %%i >> Result.txt . Далее запускаем батник в папке Result.txt будет список чисел, но так как чисел много, то и генериться они будут не за 5 минут конечно, но очень быстро
если задачу нормально проанализировать, то никакого изврата с генерированием 100500 чисел вообще придумывать не надо. хотя, если есть желание долбиться :dy: то естесно мешать не будем *HAHA*
 

Rdenwer

Client
Регистрация
14.10.2010
Сообщения
254
Благодарностей
61
Баллы
28
создаётся папка, в нём bat файл с текстом FOR /L %%i IN (1,1,350000000) DO echo %%i >> Result.txt . Далее запускаем батник в папке Result.txt будет список чисел, но так как чисел много, то и генериться они будут не за 5 минут конечно, но очень быстро
Почему не 5, как раз за 5 мин примерно генерится, правда если выставмть до 35 000. Так что умножив на 10тыс получаем такие не 5 мин~1000 часов или сорок суток непрерывной генерации...и файл овер 30гиг, который надо будет перезаписывать в сотню потоков!
 

malysh

Client
Регистрация
27.07.2017
Сообщения
420
Благодарностей
55
Баллы
28
Почему не 5, как раз за 5 мин примерно генерится, правда если выставмть до 35 000. Так что умножив на 10тыс получаем такие не 5 мин~1000 часов или сорок суток непрерывной генерации...и файл овер 30гиг, который надо будет перезаписывать в сотню потоков!
тем способом, что я написал генерится 100 000 за 1 минуту, умножаем на 3500, примерное время 3500 минут или 58 часов(2.5 суток)непрерывной генерации, вопрос был как сгенерить цифры, вот самый простой способи ничего писать не нужно, можно генерить по ляму скажем в каждый txt, в общей сумме текстовый файл займёт около 2.5 гига
 

malysh

Client
Регистрация
27.07.2017
Сообщения
420
Благодарностей
55
Баллы
28
если задачу нормально проанализировать, то никакого изврата с генерированием 100500 чисел вообще придумывать не надо. хотя, если есть желание долбиться :dy: то естесно мешать не будем *HAHA*
тут я согласен, зачем вообще генерить столько чисел, но вопрос был задан именно так, ответ я написал
 

Rdenwer

Client
Регистрация
14.10.2010
Сообщения
254
Благодарностей
61
Баллы
28
тем способом, что я написал генерится 100 000 за 1 минуту
Не знаю, на каком суперкомпе вы генерите 100к за минуту?
Попробовал на i5 с 16гг.
Результат 1к-9сек, 10к-90 сек. 100к-будет 15минут значит!

Но соглашусь-можно для каждого потока генерить небольшой файл, или счетчик задействовать, как уже предлагали.
 

malysh

Client
Регистрация
27.07.2017
Сообщения
420
Благодарностей
55
Баллы
28
не знаю на камом вы калькуляторе пробовали генерить, но у меня уходить чуть больше 2 минут, сейчас перепроверил, но никак не 15 минут
 

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