Сохранен 78
https://2ch.hk/pr/res/1037161.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

IdeaGen

 Аноним 03/08/17 Чтв 21:01:15 #1 №1037161 
ideas.jpeg
Всем Приветы!

Запилил простейший "Генератор Идей" на Питоне.
Пока работает он очень просто. Он записывает в файл комбинации из слов из другого файла (назовём его словарём).

https://drive.google.com/file/d/0BzT4UmNzwpVWSW5jeGZhVC1qc2c/view?usp=sharing

Работает медленно даже на i7, причём ресурсы компьютера почти не используются. Этим Питон и плох.
Особенно с 4 и 5 словами, там вообще абзац, поэтому оставил только комбинации из 2 и 3 слов.

В будущем сделаю ГУИ и добавлю темы для ключевых слов. Их можно будет включать и отключать, смотря что понадобится.
Неплохо бы ускорить дело при помощи видеокарты, но я пока не знаю, КАК, я только вкатываюсь.

В архиве скрипт на Питон и словарик для примера работы.
После запуска нужно подождать, выходной файл будет несколько МБ.
Аноним 03/08/17 Чтв 21:11:18 #2 №1037173 
>>1037161 (OP)
> l2 = itertools.combinations(l, n)
> l2 = list(l2)
> l3 = str(l2)

Это уж совсем пиздец, перепиши этот говнокод.
Аноним 03/08/17 Чтв 21:24:01 #3 №1037180 
Переписал на Go https://play.golang.org/p/R1d-1az1Qv
Аноним 03/08/17 Чтв 21:26:29 #4 №1037184 
d744634883831488.jpg
>>1037161 (OP)
> Работает медленно даже на i7
Аноним 03/08/17 Чтв 21:51:44 #5 №1037219 
>>1037173
Там было my_list_combinated и таких куча подяд, я же не просто так всё упростил, это нечитаемо было.
Аноним 03/08/17 Чтв 21:53:06 #6 №1037223 
>>1037219
Иди учи питон, ты даже не понимаешь, на сколько ты ебанутый говнокод высераешь.
Аноним 03/08/17 Чтв 21:55:44 #7 №1037227 
>>1037180
не позорься со своим школошлаком, что за неадекватный словарь?
И ты даже алгоритм не смог повторить
Аноним 03/08/17 Чтв 21:56:49 #8 №1037228 
>>1037223
без советов от школьников, пожалуйста, у меня всё норм там
Аноним 03/08/17 Чтв 22:04:21 #9 №1037236 
>>1037228
> у меня всё норм там

> l2 = itertools.combinations(l, n)
> l2 = list(l2)
> l3 = str(l2)
> l3 = l3.replace('[','')
> l3 = l3.replace(']','')
> l3 = l3.replace("'",'')
> l3 = l3.replace(",",'')
> l3 = l3.replace("(",'')
> l3 = l3.replace(') ', '\n')
> l3 = l3.replace(")",'')
Скажи, что ты просто толсто троллишь, я не верю, что можно быть на столько тупым.
Аноним 03/08/17 Чтв 22:14:25 #10 №1037258 
>>1037236
А как бы ты сам это написал, не тупой?
Аноним 03/08/17 Чтв 22:17:06 #11 №1037264 
>>1037258
регулярной строкой ищешь все символы и меняешь их на пустой знак в одну строку.
Аноним 03/08/17 Чтв 22:26:33 #12 №1037273 
>>1037258
Например так: https://ideone.com/IKOsZm
Аноним 03/08/17 Чтв 23:01:17 #13 №1037319 
>>1037273
ещё один говнокодер подкатил
Аноним 03/08/17 Чтв 23:05:12 #14 №1037330 
>>1037319
Давай, покажи свой не говнокод, чтобы я проникся им и осознал всю свою убогость.
Аноним 03/08/17 Чтв 23:08:28 #15 №1037332 
Ящитаю, что сюда надо добавить машинное обучение и bit data manning
Аноним 03/08/17 Чтв 23:08:33 #16 №1037334 
>>1037273
Я устал ждать пока твой код работу закончит, у ОПа всё в 20 раз быстрее.
Аноним 03/08/17 Чтв 23:09:54 #17 №1037336 
>>1037332
А потом запускать это на суперкомпьютере.
Аноним 03/08/17 Чтв 23:11:35 #18 №1037337 
>>1037334
У нас за такое уже с работы бы уволили.
Додумался форов напихать ещё, до завтрашнего дня ждать будем.
Аноним 03/08/17 Чтв 23:23:53 #19 №1037345 
>>1037273
Да ты нам своим говнокодингом жёсткие диски поломаешь, бля.
Аноним 03/08/17 Чтв 23:25:24 #20 №1037347 
>>1037334
Вариант ОПа:
768 ms ± 13.6 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
Мой:
777 ms ± 2.72 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
Где разница то?
Аноним 03/08/17 Чтв 23:35:38 #21 №1037356 
>>1037337
на петухоне не нужно использовать фор?
Аноним 03/08/17 Чтв 23:47:12 #22 №1037375 
>>1037347
Алсо, если убрать принт, то мой код в 2 раза быстрее.

In [58]: %timeit %run ideagen.py
104 ms ± 38.7 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)

In [59]: %timeit %run ideagen_orig.py
231 ms ± 678 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)
Аноним 04/08/17 Птн 00:03:52 #23 №1037392 
>>1037375
Попробуй так:
https://ideone.com/wlrD8W
Аноним 04/08/17 Птн 00:16:27 #24 №1037397 
Сколько времени выполняется скрипт с ОПовским словарём?
Или только у меня так долго? Баг что ли?
Аноним 04/08/17 Птн 00:20:12 #25 №1037399 
>>1037397
0.135s
Аноним 04/08/17 Птн 00:25:36 #26 №1037404 
>>1037399
Как измерить на винде?
Аноним 04/08/17 Птн 00:27:19 #27 №1037405 
>>1037392
In [63]: %timeit %run idegen_map.py
53.7 ms ± 4.07 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
Аноним 04/08/17 Птн 00:28:22 #28 №1037406 
>>1037405
Осталось ебашить в файл через mmap, чтобы еще ~10ms выжать.
Аноним 04/08/17 Птн 00:30:59 #29 №1037408 
У меня скрипт от ОПа делает за десятки секунд, что не так?
Аноним 04/08/17 Птн 00:35:23 #30 №1037412 
>>1037404
https://ideone.com/zSPt8P
Аноним 04/08/17 Птн 00:40:17 #31 №1037415 
>>1037392
При больших значениях лучше все же построчно писать в файл.
Аноним 04/08/17 Птн 00:45:04 #32 №1037418 
t1 = time.time()
# do tested stuff
print(time.time() - t1)

46.296653032302856

Почему столько времени заняло?
Файл там 6,5 Мб где-то всего.
Аноним 04/08/17 Птн 00:50:53 #33 №1037420 
За сколько времени у вас этот код выполняется?

https://ideone.com/yukEmn
Аноним 04/08/17 Птн 00:52:40 #34 №1037423 
>>1037420
>>1037347
>Вариант ОПа:
>768 ms ± 13.6 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
Аноним 04/08/17 Птн 00:54:24 #35 №1037425 
4.4999775886535645
А это значение при запуске через консоль, а не через IDLE и всё равно тут 4,5 секунды, почему у меня нет ваших цифр на винде? Бред какой-то.
Аноним 04/08/17 Птн 00:56:00 #36 №1037427 
>>1037423
Какая ОС? Почему настолько быстрее чем у меня и я спрашивал значение то, которое этот код даёт:
https://ideone.com/yukEmn
Аноним 04/08/17 Птн 00:56:59 #37 №1037429 
>>1037425
На шперме консолька тормозная, по сравнению с прыщевой, а у тебя там основное время скрипт с ней и работает.
Аноним 04/08/17 Птн 00:58:26 #38 №1037431 
>>1037429
Можно нормально писать?
почему всё так долго? Плюсы быстро компилировал.
Аноним 04/08/17 Птн 01:01:44 #39 №1037437 
>>1037429
павершелл 4,7 дал
принт убрать?
Аноним 04/08/17 Птн 01:02:58 #40 №1037439 
image.png
>>1037431
Можно за хуй подержаться. Что тебе не понятно, на венде cmd тормозной, пик глянь, во сколько раз он медленнее по сравнению с популярными прыщевыми консольками.
Аноним 04/08/17 Птн 01:06:52 #41 №1037442 
>>1037429
Без принт
0.3124992847442627 стало
спс
но всё равно медленно, правда, это оповский, что там с mmap?

А какое блядство с IDLE сделано, это просто пиздец, игры там на пигейм падают, сраный скрипт в 10 раз дольше работает, пц, как такое в релиз только пускают?
Я так сразу и понял, что-то не ладно, не может быть настолько медленно всё.
Аноним 04/08/17 Птн 01:08:25 #42 №1037446 
>>1037439
В виртуалбоксе в иксах быстрее будет, чем cmd на хосте?
Мне кажется, да.
Аноним 04/08/17 Птн 01:08:34 #43 №1037448 
>>1037442
>что там с mmap
Немного быстрее работать будет.
Аноним 04/08/17 Птн 01:12:15 #44 №1037453 
>>1037448
Так как выглядит конечный вариант кода?

Я гуглил, ещё вроде кэширование подключают.
Аноним 04/08/17 Птн 01:16:02 #45 №1037456 
>>1037453
В документации же есть пример с записью файла через отображение файла, а кэширование тут никак не поможет, ты же один раз читаешь и один раз пишешь, причем в разные файлы.
Аноним 04/08/17 Птн 01:18:28 #46 №1037457 
>>1037456
пишешь в один файл

кэширование функций
Аноним 04/08/17 Птн 01:21:32 #47 №1037458 
>>1037457
Ну так у опа там 2 файла, один со словарем, второй с результатом. Да и что там кэшировать то, если функция вызывается по одному разу с разными значениями?
Аноним 04/08/17 Птн 01:24:16 #48 №1037459 
>>1037458
я не спец, но читал советы давали другим, кэшируй, мол, а у них тоже комбинации были.

А как ускорить при помощи видеокарты?
Аноним 04/08/17 Птн 01:29:33 #49 №1037462 
ок, всем споки, завтра будет ускорять при помощи видеокарт
Аноним 04/08/17 Птн 01:29:43 #50 №1037463 
>>1037459
>я не спец, но читал советы давали другим, кэшируй, мол, а у них тоже комбинации были.
Ну закэшируй хуйли, только толку не будет при текущем коде.
>А как ускорить при помощи видеокарты?
А что ты ускорять собрался? Чтение/запись в файл? Вывод в консольку? У тебя эти действия 99% времени занимают.
Аноним 04/08/17 Птн 08:35:35 #51 №1037559 
>>1037463
Комбинирование.
Вывода на консоль уже нет.
Чтение и запись - отдельная тема.
Аноним 04/08/17 Птн 09:41:53 #52 №1037582 
Этот вариант с mmap правильный?

https://ideone.com/iEh32z
Аноним 04/08/17 Птн 09:56:16 #53 №1037589 
>>1037559
Для 5 комбинирование занимает 6% времени и 94% это запись на диск.
Аноним 04/08/17 Птн 10:16:33 #54 №1037596 
NameError: name 'mmap' is not defined
Что импортировать для mmap?
Аноним 04/08/17 Птн 10:50:22 #55 №1037604 
Допилил код, теперь работает и так, как надо.

https://ideone.com/8wgrKi
Аноним 04/08/17 Птн 11:11:26 #56 №1037619 
>>1037604
https://ideone.com/S7bgIv
Аноним 04/08/17 Птн 11:23:13 #57 №1037631 
>>1037619
код не допилен, кроме того, идёт ошибка
Аноним 04/08/17 Птн 11:25:41 #58 №1037635 
>>1037631
Какая ошибка? Что значит не допилен?
Аноним 04/08/17 Птн 11:28:41 #59 №1037640 
>>1037635
Стоит ли говорить с человеком, который не понимает, что фукции нужно вызывать...
Аноним 04/08/17 Птн 11:33:47 #60 №1037642 
>>1037640
Зависит от твоих целей. Я считаю, что стоит, поскольку я люблю помогать новичкам.
Аноним 04/08/17 Птн 11:52:16 #61 №1037655 
>>1037642
у тебя даже программа не внутри функции и всё равно ошибку вызывает
Аноним 04/08/17 Птн 11:55:39 #62 №1037657 
>>1037655
Процитируй уже мне ошибку.
В питоне программа необязательно должна быть внутри функции, более того, часть программы всегда будет вне функций, например, вызов main.
Аноним 04/08/17 Птн 13:30:54 #63 №1037698 
Мне кажется, что "for n in (2, 3):" не удобно для дальнейшей разработки, например, пользователь будет сам указывать сколько слов в комбинации он хочет и тут с вызовом функции удобнее будет делать, тем более там ещё гуи tk будет. QT не хочу, так как он не идёт в дефолте, это сразу пц, и два, там были свои специфические проблемы.

Надо ещё придумать какими алгоритмами отсеивать шлак, потом ещё раз отсеить более глубоко и медленно проходящим скриптом, чтобы в конце остались не сотни тысяч и миллионы, а например, самые интересные идеи - для статей, или самые прибыльные - для стартапов.
Короче, всё на блюдечке приподносить.

Я думаю тут нужно использовать топы - для статей, как-то получать их из интернета, а прибыльные - там использовать статистики, которые тоже где-то надо достать.
Аноним 04/08/17 Птн 13:35:00 #64 №1037700 
>>1037698
А словари будут использоваться локальные +, напимер, какие-нибудь статистики от гугла и проходить гуглом по конкретным сайтам, тоже брать топы по просмотрам, по покупкам итд.
Аноним 04/08/17 Птн 13:39:04 #65 №1037701 
ебанутый.webm
>>1037698
> Надо ещё придумать какими алгоритмами отсеивать шлак, потом ещё раз отсеить более глубоко и медленно проходящим скриптом, чтобы в конце остались не сотни тысяч и миллионы, а например, самые интересные идеи - для статей, или самые прибыльные - для стартапов.

>Я думаю тут нужно использовать топы - для статей, как-то получать их из интернета, а прибыльные - там использовать статистики, которые тоже где-то надо достать.
Аноним 04/08/17 Птн 13:41:34 #66 №1037705 
>>1037701
Ты сам, ты что тупой?
Даже тут получилось больше 400 сот тысяч, ты понимаешь, что в ручную это нереально всё просматривать, это полный пц.
Аноним 04/08/17 Птн 13:44:20 #67 №1037710 
>>1037701
Ты даже о такой тупейшей вещи не знаешь:
https://trends.google.ru/trends/explore?q=linux

полный ноль
Аноним 04/08/17 Птн 14:14:02 #68 №1037734 
>>1037698
> Мне кажется, что "for n in (2, 3):" не удобно для дальнейшей разработки, например, пользователь будет сам указывать сколько слов в комбинации он хочет и тут с вызовом функции удобнее будет делать,
Окей разумно.
Аноним 05/08/17 Суб 01:28:24 #69 №1038248 
>>1037347
как измерить скорость выполнения проги?
мимо-начинающий
Аноним 05/08/17 Суб 01:30:44 #70 №1038250 
>>1038248
https://docs.python.org/3/library/timeit.html
Аноним 05/08/17 Суб 01:32:54 #71 №1038252 
>>1038250
благодарю!
Аноним 05/08/17 Суб 09:14:39 #72 №1038320 
Сегодня, пытаюсь прикрутить tk к IdeaGen.

TabError: inconsistent use of tabs and spaces in indentation, показывает на двоеточие в конце.

https://ideone.com/FFgmLY
Аноним 05/08/17 Суб 10:02:12 #73 №1038336 
>>1038320
хелп, плиз, питоноошибка
Аноним 05/08/17 Суб 10:07:06 #74 №1038338 
>>1038336
https://ideone.com/sxonPL
Аноним 05/08/17 Суб 10:17:54 #75 №1038345 
>>1038338
А в чём была ошибка собстенно?
Аноним 05/08/17 Суб 10:20:35 #76 №1038346 
>>1038345
В непоследовательном использовании табов и пробелов в индентации.
Аноним 05/08/17 Суб 10:24:12 #77 №1038348 
>>1038346
Я табов вообще не всталял, откуда они взяться могли? :(
Так и понял что проблема в этом, идля не пишет, где пробелы, а где табы. Большая проблема.
И вообще ужасная IDE.
Аноним 05/08/17 Суб 10:46:00 #78 №1038360 
>>1038348
Где-нибудь в настройках редактора ищи, чтобы показывал табы и промбелы.
comments powered by Disqus