The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Каталогизатор домашней библиотеки MyLibrary 1.0, opennews (??), 20-Дек-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


101. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от Аноним (101), 20-Дек-22, 21:09 
Программе не хватает многопоточности.
Во время построения каталога задействовано только одно ядро процессора.
Ответить | Правка | Наверх | Cообщить модератору

104. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от Аноним (13), 20-Дек-22, 21:33 
Квалификации программисту не хватает.
Ответить | Правка | Наверх | Cообщить модератору

136. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от Аноним (4), 21-Дек-22, 08:25 
Для курсового проекта нормально.
Ответить | Правка | Наверх | Cообщить модератору

108. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от ProfessorNavigator (ok), 20-Дек-22, 21:42 
> Во время построения каталога задействовано только одно ядро процессора

Это сделано специально. Изначально планировалось "раскручивать на все ядра", однако при работе с большими коллекциями процесс так или иначе будет занимать достаточно длительное время. Если задействовать все ядра, то это затруднит использование компьютера в процессе индексации. А так вы можете запустить процесс, что называется, в фоне и заниматься чем-либо ещё.

Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

111. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от Аноним (72), 20-Дек-22, 21:58 
А приоритеты для чего придумали? Я вот кодирую видео в фоне и тормозов не замечаю.
Ответить | Правка | Наверх | Cообщить модератору

113. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от Аноним (47), 20-Дек-22, 22:41 
Я компилирую хромиум в фоне и тормозов не замечаю. И чтобы посмотреть ютуб в браузере мне надо 2 полные ядра загрузить, так что было бы заметно. Другое дело, что из-за IO будут лаги, но тут достаточно и 1 треда, чтобы выжрать всё. Только когда это рандомный доступ производительность на жёстких дисках падает раз в десятки раз, поэтому толку от многопоточности?
Ответить | Правка | Наверх | Cообщить модератору

114. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от ProfessorNavigator (ok), 20-Дек-22, 22:51 
> А приоритеты для чего придумали? Я вот кодирую видео в фоне и
> тормозов не замечаю.

Ну и какой в этом смысл? Возится с ОС специфическим API, отстраивать приоритеты потоков, чтобы получить в итоге то же самое. Т.е. замедление работы процесса, чтобы вы могли в это время заниматься своими делами. И всё это на каталогизаторе домашней библиотеки, который по сути своей выполняет довольно тривиальные задачи. Вам не кажется это слегка излишним? Может проще отдать программе один процессор? При этом система будет сама решать, какой именно, перебрасывая задачи с одного на другой. Ну и про чтение жёсткого диска вы не забыли? Если у вас например HDD, что будет с ним если, скажем, 8 потоков примутся одновременно читать с него нехилые объёмы данных? И как это скажется на остальных процессах, запущенных в системе?

Ответить | Правка | К родителю #111 | Наверх | Cообщить модератору

116. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от Аноним (47), 20-Дек-22, 23:18 
На ссд можно получить кратное ускорение. "Специфические апи" на линуксе сводятся к запуску под nice/ionice и это проблема пользователя, у него есть для этого баш. На венде тоже что-то подобное. Аргументация в пользу отказа от многопоточности довольно странная.
Ответить | Правка | Наверх | Cообщить модератору

120. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от ProfessorNavigator (ok), 20-Дек-22, 23:34 
> На ссд можно получить кратное ускорение.

Замечательно. А сколько пользователей имеют SSD? Я имею доступ к 4 разным машинам (они не мои, а именно имею доступ). SSD стоит только на двух из них и при этом отданы только под размещение ОС, больше на них ничего нет. Информация хранится только HDD. Более того те, кто много читают книги далеко не всегда имеют новейшее железо, ибо оно им особо без надобности. Ну и вопрос не снимается - для чего насиловать машину и усложнять программу? Чтобы вы перестали ныть про многопоточность?

Ответить | Правка | Наверх | Cообщить модератору

124. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от Аноним (47), 20-Дек-22, 23:46 
Если говорить серьёзно, то ssd уже лет 10 обязательное условие для использования виндоус и макос и очень облегчает жизнь с линуксом. Примерно 100% пользователей, можно брать такую оценку. Кроме того, можно параллелить доступ к нескольким hdd. И чем старее/слабее железо, тем более целесообразно приобретение ssd.
Ответить | Правка | Наверх | Cообщить модератору

125. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +1 +/
Сообщение от ProfessorNavigator (ok), 20-Дек-22, 23:52 
> Если говорить серьёзно, то ssd уже лет 10 обязательное условие для использования
> виндоус и макос и очень облегчает жизнь с линуксом. Примерно 100%
> пользователей, можно брать такую оценку. Кроме того, можно параллелить доступ к
> нескольким hdd. И чем старее/слабее железо, тем более целесообразно приобретение ssd.

Вы это не мне рассказывайте, а людям. Которым на еду далеко не всегда хватает, а компьютер у них хорошо если с двухядерным процессором. И таких, представьте себе, не мало.


Ответить | Правка | Наверх | Cообщить модератору

127. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от Аноним (47), 21-Дек-22, 00:06 
Ссд стоит куда меньше самого дешёвого двухядерного процессора и будет самым полезным приобретением из всех возможных. Есть деньги на дорогой двухядерный процессор, но нет денег на ссд? Я бы ещё понял, если сравнение было с одноядерными, хотя и одноядерные при наличии SMT позволяют получить выигрыш (т.е. процессорам времён 32-битных пентиум 4 уже профит). Только как много таких пользователей сегодня?
Ответить | Правка | Наверх | Cообщить модератору

183. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от Stanislavvv (?), 26-Дек-22, 15:28 
Двухядерный процессор - это CoreDuo может быть, в ноуте, выпущенном в 2008-году и когда-то бывшим топовым, купленным как бу за соответствующую бу цену.
На большинство юзерских задач его хватает и сейчас, включая "послушать ютуб".
Просто у людей другие приоритеты.
Ответить | Правка | Наверх | Cообщить модератору

129. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от Ананимаз (?), 21-Дек-22, 00:13 
Ну дык можно дать пользователю выбор. По-умолчанию 1 ядро, но нужна возможность использовать все.
Ответить | Правка | К родителю #120 | Наверх | Cообщить модератору

130. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от ProfessorNavigator (ok), 21-Дек-22, 00:17 
> Ну дык можно дать пользователю выбор. По-умолчанию 1 ядро, но нужна возможность
> использовать все.

Вот это уже другой разговор. Посмотрим, скорее всего сделаю.

Ответить | Правка | Наверх | Cообщить модератору

117. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от Аноним (72), 20-Дек-22, 23:22 
> Возится с ОС специфическим API, отстраивать приоритеты потоков, чтобы получить в итоге то же самое. Т.е. замедление работы процесса, чтобы вы могли в это время заниматься своими делами.

Допустим, у меня восьмиядерный процессор. При раскидывании задачи на восемь ядер получаем (в идеале, конечно), восьмикратное ускорение. Допустим, повседневное использование ПК (браузер там, вот это всё) есть условные 10% процессорного времени. Да, совершенно то же самое.
Но с подходом «не хочу возиться», конечно, не поспоришь.

Ответить | Правка | К родителю #114 | Наверх | Cообщить модератору

122. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от Аноним (122), 20-Дек-22, 23:42 
>Возится с ОС специфическим API

std::thread - ОС-специфическое API, спешите видеть.

Ответить | Правка | К родителю #114 | Наверх | Cообщить модератору

123. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от ProfessorNavigator (ok), 20-Дек-22, 23:43 
> std::thread - ОС-специфическое API, спешите видеть.

Вы бы хоть на код взглянули, прежде чем глупости писать.

Ответить | Правка | Наверх | Cообщить модератору

126. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от Meta (?), 21-Дек-22, 00:01 
Помню у нас в Atsumeru прикрутили многопоток и вместо 5 часов вся коллекция сканилась за 40 минут.
Данных в тот момент было на 700 гб и мы в принципе не мечтали что быстрее будет полностью забита db всей инфой, но всегда можно оптимизировать. Сейчас для Atsu является слабым местом именно db.
В общем я фраппирован со всех ваших умозаключений
Ответить | Правка | К родителю #114 | Наверх | Cообщить модератору

128. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от ProfessorNavigator (ok), 21-Дек-22, 00:10 
> В общем я фраппирован со всех ваших умозаключений

Рад за вас))

Ответить | Правка | Наверх | Cообщить модератору

174. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от kit (??), 24-Дек-22, 05:22 
>Изначально планировалось "раскручивать на все ядра"

тогда уж все ядра минус одно, и приоритет процессам пониже

Ответить | Правка | К родителю #108 | Наверх | Cообщить модератору

176. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от ProfessorNavigator (ok), 24-Дек-22, 12:34 
> тогда уж все ядра минус одно, и приоритет процессам пониже

Уже сделано. Думаю, на следующей неделе выйдет новая версия. Регулировка количества задействованных потоков ляжет на пользователя. С приоритетами заморачиваться не буду, поскольку главный принцип - максимальная универсальность, т.е. использование как можно меньшего количества ОС-специфических функций.

Ответить | Правка | Наверх | Cообщить модератору

182. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от kit (??), 26-Дек-22, 15:23 
Можно же банальную обёртку сделать: если в системе можно понизить приоритет -- понижаем, если нет пускаем так как есть.
Ответить | Правка | Наверх | Cообщить модератору

184. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от ProfessorNavigator (ok), 26-Дек-22, 15:59 
> Можно же банальную обёртку сделать: если в системе можно понизить приоритет --
> понижаем, если нет пускаем так как есть.

Незачем, реально незачем. Я уже оттестировал на одном и том же железе с процессором на 4 физических ядра и 8 потоков. И с 1 потоком оттестировал, и с 8. На коллекции в 350 Гб. Какой-то принципиальной разницы в скорости нет. Может быть 5-7%% (по оптимистичным оценкам) - с секундомером не замерял. Потому что всё упирается в скорость чтения с жёсткого диска. Который один. И поток данных с него тоже один, 8 их не станет, хоть вы тресните. Скорость обработки данных (а значит и количество потоков) тут особой роли не играет: загрузка каждого из ядер во время теста не превышала 7-10%% в пике. Если у вас например RAID массив, то тогда, подозреваю, результат будет другой. Но тут не спец - я не сисадмин и с массивами носителей никогда дела не имел.

Ответить | Правка | Наверх | Cообщить модератору

189. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от kit (??), 27-Дек-22, 17:22 
Ну во первых есть ssd со скоростью чтения до 7 гигабайт в сек, и с мультипоточностью чтения там всё ок.
А во вторых тут же речь не только про то чтобы быстрее, а ещё и про то чтобы отзывчивость системы при процессе сканирования не проседала.

Впрочем если желания заниматься нет то забей, в конце концов ты никому ничего не должен ;)

Ответить | Правка | Наверх | Cообщить модератору

190. "Каталогизатор домашней библиотеки MyLibrary 1.0"  +/
Сообщение от ProfessorNavigator (ok), 28-Дек-22, 02:23 
> Ну во первых есть ssd со скоростью чтения до 7 гигабайт в
> сек, и с мультипоточностью чтения там всё ок.

Если бы у меня ещё был под рукой нормальный SSD, чтобы тесты погонять... Впрочем, как уже сказал - многопоточность сделал. В следующей версии будет. Дальше - буду улучшать по возможности.

> Впрочем если желания заниматься нет то забей, в конце концов ты никому
> ничего не должен ;)

Желание есть, времени на всё нет.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру