ssXXXss
Client
- Регистрация
- 23.12.2014
- Сообщения
- 7 379
- Благодарностей
- 2 041
- Баллы
- 113
так я ему напишу в один потокТак он же в 50 потоков собирается парсить, а не в 350 млн потоков
так я ему напишу в один потокТак он же в 50 потоков собирается парсить, а не в 350 млн потоков
Смотри мою конкурсную работу на первый конкурс шаблонов, ну или любую другую, где на примере показывают как работать с БД. Тебе в БД нужна всего 1 запись-счетчик, и просто при обращении к ней увеличивай счетчик на 1, предварительно получая само значение это, для использования в потоке.можешь хотя б небольшим примером показат ька кэто сделать можно*? я никогда с базой не работал.. не понимаю как ..
Кто с чем работает, тому и проще в том накидать. Кто-то в эксель будет писать, кто-то в списки, а кто-то даже в списки сниппетами с форума, без локов, а потом в многопотоке будет сильно удивляться Я работаю только с БД, вот и написал как сделал бы я А где хранить 1 несчастное число так чтобы оно не слетело после перезагрузки ЗП / компа, каждый решает для себя сам. Я когда писал то сообщение, имел ввиду в первую очередь что нет смысла генерировать список на 350 лямов значений. Можно обойтись хранением всего одного.Зачем база данных, зачем писать такой объем данных куда-то?
Вам уже подсказали, записывайте последний id, который был использован, дальше начинайте парсинг +1 от записанного числа.
Я это и подметил, что лучший вариант как по мне хранить только одно значение, а не все.Кто с чем работает, тому и проще в том накидать. Кто-то в эксель будет писать, кто-то в списки, а кто-то даже в списки сниппетами с форума, без локов, а потом в многопотоке будет сильно удивляться Я работаю только с БД, вот и написал как сделал бы я А где хранить 1 несчастное число так чтобы оно не слетело после перезагрузки ЗП / компа, каждый решает для себя сам. Я когда писал то сообщение, имел ввиду в первую очередь что нет смысла генерировать список на 350 лямов значений. Можно обойтись хранением всего одного.
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());
}
сам на время проверял своим способом ?Создать фаил 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()); }
топ читай, надо быстро. а твоим методом пол векаПо поводу скорости
За минуту в 100 потоков
Посмотреть вложение 50661
Будут проблемы при большем числе потоков? еще есть базы
топ читай, надо быстро. а твоим методом пол века
мне надо заходить так сайт/профиль/48498 вот и так 350 лямов
))))))))) смешно. ты типо стыврик в новом профиле ??Н? )))))))))))))) или чувкк который обо мне инфу собрал, но согласись дадаже если я и бухаю я напишу код который за 15 минут выполнит, а ты лошара, я ведь правБухло стынет, пей быстрей, а то убежит
Вот блин, прочитал ведь, думал уж чуть было в говно не наступил и успел во время ногу переставить, а нет, вляпался, выше в общем прочитай и обдумай, хотя в твоем состоянии это тяжело делать))))))))) смешно. ты типо стыврик в новом профиле ??Н? )))))))))))))) или чувкк который обо мне инфу собрал, но согласись дадаже если я и бухаю я напишу код который за 15 минут выполнит, а ты лошара, я ведь прав
а ты ответив на моё читал прежде так пиздеть словамиПрочитал ведь, думал уж чуть было в говно не наступил и успел во время ногу переставить, а нет, вляпался, выше в общем прочитай и обдумай, хотя в твоем состоянии это тяжело делать
что профиль сменил потому что под реальным профилем лошара ? а в игнор ты кдай своих сверстников, не можешь помочь не лезьЕго так давно не было, убежал из дурки опять что ли, в игнор его пожалуй добавлю, чего и другим советую, человек не адекватен
прочитал твоё редактирование, вот ты реально под таблетками, такое написать только может не думавший человекПо поводу скорости
За минуту в 100 потоков
Посмотреть вложение 50661
Будут проблемы при большем числе потоков?
Можно хоть вычитать по 50-100-200, кидать в переменную проекта, с нею работать, если ошибка - остатки возвращать
еще можно разделить на несколько файлов как и писали 0 -34 999 999, 35 000 000 - 74 999 999,....
или сразу базу данных , так же разделить можно в случае чего( я хз нужно ли это?) и так же общаться каждый раз не за одним числом, а брать сразу диапазон и с ним работать а при ошибках возвращать остатки
с чего то же нужно ему начинать, вот пускай хотя бы с этого
а я бы ничего не генерилЯ бы при такой задаче (1-350 000 000) генерил бы партиями списки по 1 000 000 и брал из них рандомом с удалением.
Не проще ли сделать черный список профилей, которые ты уже обработал?какой можешь подсказать варик мне надо заходить так сайт/профиль/48498 вот и так 350 лямов
не актуально, но интересно. расскажите, если все так быстро и просторебята вы чего все заморочились на зенке, делается элементарно за 2 секунды, если кому ещё актуально, могу показать и рассказать
создаётся папка, в нём bat файл с текстом FOR /L %%i IN (1,1,350000000) DO echo %%i >> Result.txt . Далее запускаем батник в папке Result.txt будет список чисел, но так как чисел много, то и генериться они будут не за 5 минут конечно, но очень быстроне актуально, но интересно. расскажите, если все так быстро и просто
если задачу нормально проанализировать, то никакого изврата с генерированием 100500 чисел вообще придумывать не надо. хотя, если есть желание долбиться то естесно мешать не будемсоздаётся папка, в нём bat файл с текстом FOR /L %%i IN (1,1,350000000) DO echo %%i >> Result.txt . Далее запускаем батник в папке Result.txt будет список чисел, но так как чисел много, то и генериться они будут не за 5 минут конечно, но очень быстро
Почему не 5, как раз за 5 мин примерно генерится, правда если выставмть до 35 000. Так что умножив на 10тыс получаем такие не 5 мин~1000 часов или сорок суток непрерывной генерации...и файл овер 30гиг, который надо будет перезаписывать в сотню потоков!создаётся папка, в нём bat файл с текстом FOR /L %%i IN (1,1,350000000) DO echo %%i >> Result.txt . Далее запускаем батник в папке Result.txt будет список чисел, но так как чисел много, то и генериться они будут не за 5 минут конечно, но очень быстро
тем способом, что я написал генерится 100 000 за 1 минуту, умножаем на 3500, примерное время 3500 минут или 58 часов(2.5 суток)непрерывной генерации, вопрос был как сгенерить цифры, вот самый простой способи ничего писать не нужно, можно генерить по ляму скажем в каждый txt, в общей сумме текстовый файл займёт около 2.5 гигаПочему не 5, как раз за 5 мин примерно генерится, правда если выставмть до 35 000. Так что умножив на 10тыс получаем такие не 5 мин~1000 часов или сорок суток непрерывной генерации...и файл овер 30гиг, который надо будет перезаписывать в сотню потоков!
тут я согласен, зачем вообще генерить столько чисел, но вопрос был задан именно так, ответ я написалесли задачу нормально проанализировать, то никакого изврата с генерированием 100500 чисел вообще придумывать не надо. хотя, если есть желание долбиться то естесно мешать не будем
Не знаю, на каком суперкомпе вы генерите 100к за минуту?тем способом, что я написал генерится 100 000 за 1 минуту