Программисты спасут мир. Как всем известно программисты могут оптимизи

ibaka.ru
жалоба / abuse: admin@ibaka.ru
Источник / Source: https://2ch.hk/b/res/211553094.html
  Статус треда: В АРХИВЕ  

одновременно, букв, которые, месте, триллиона, задачу, файлов, каждом, одном, файл, каждый, сможем, файлы, мир, хуй


#211553094

this is the image
9560.jpg 750✘781,568Кб

Программисты спасут мир. Как всем известно программисты могут оптимизировать автоматизировать и решить любую задачу. Ну посмотрим. Предположим что у нас есть 3 триллиона текстовых документа, в этом каждом документе по 3 миллиарда букв.
Каким образом мы одновременно сможем сделать исправление в трех триллионах файлах txt в определенном месте (буквах) из 3 миллиардов. Решив эту задачу вы спасете мир. Какие предложения? Представьте что речь реально идет о текстовом документе а не как образец. Поехали.


#211553259

>>211553094
Нормально сформулируй условия задачи блядь, а не свои шизойдный пассажи, а по сабжу:

Р Е Г У Л Я Р Н Ы Е В Ы Р А Ж Е Н И Я
Е
Г
У
Л
Я
Р
Н
Ы
В
А
Ж
И


#211553262

>>211553094
Бамп.


#211553308

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


#211553313

>>211553094
>Как всем известно программисты могут оптимизировать
Не могут.


#211553376

Исправлю в одном файле ошибки, удалю остальные и накопирую новые.


#211553382

>>211553313
Настоящим программерам настолько лень все делать что они автоматизируют все


#211553435

>>211553376
Интересное решение, усложним задачу, удалять нельзя, только одновременное редактирование.


#211553474

>>211553094
Берешь 3 триллиона компов, закачиваешь в каждый по файлу, исправляешь. Хуле тут думать?


#211553476

>>211553094

бля прогеры тут не в тему. Прогеры бы сделали если бы документ был электронным а не бумажным. так что бери тыщу додиков и ставь им эту задачу. Иначе никак. Только дохуя ручного труда.


#211553589

>>211553094
а бля туплю. Перебираем в цикле каждый файл, и исправляем. Хуйли тут сложного? Можно многопоток заебенить.


#211553608

>>211553474
Эти все файлы на одном винте находятся.


#211553640

>>211553476
Это аналогия же, я думаю многие догадались.


#211553660

>>211553589
Давай подробнее рассказывай. Слишком поверхностный овтет.


#211553696

>>211553608
Какая проблема закачать с одного винта на 3 триллиона компов?


#211553706

>>211553308
Конечно тупой, настрочил какой то графоманской хуйни по спасению мира, где непонятно или задача супер тупая или ту не можешь в формулирование мыслей.


#211553799

>>211553094
Одновременно во всех вряд ли вообще сможем. Разве что у нас есть процессор с триллионами ядер и устройство хранения данных, которое сможет одновременно писать и читать в триллион мест одновременно.


#211553826

>>211553094
>Какие предложения?
Огласите бюджет проекта.


#211553829

>>211553696
Где ты возьмешь 3 триллиона компов?


#211553872

>>211553799
>Одновременно во всех вряд ли вообще сможем.
Вот в этом и вся загвоздка, парадокс такойто.


#211553894

>>211553826
3 миллиарда долларов. Серьезно.


#211553978

>>211553474
И в каком месте это будет одновременное исправление?


#211553991

>>211553829
Ну это же оптимизация. Да и где ты столько оперативы возьмешь, чтобы 3 триллиона файлов по 96ГБ закачать?


#211554056

>>211553978
По команде одновременно запускаешь задачу, после выполнения записываешь на диск.


#211554063

>>211553991
А ты чекнул сколько один текстовик с 3-мя миллардами букв весит?


#211554071

>>211553094
Либо хранишь их в ФС / БД, которая позволит такое провернуть, либо вместо изменения самих файлов делаешь один патч, и при запросе любого из файлов применяешь все патчи, которые его касаются.


#211554147

>>211554056
После этого ты опять потеряешь время так, как нужно что бы эти файлы были вместе на одном носители. Давай идею о распределение текстовых документов на другие носители вообще уберем.


#211554151

>>211553094
Hadoop
/Thread


#211554184

>>211553872
Вообще в природе мало что происходит буквально одновременно. События могут пересекаться по времени либо между ними может пройти какой-то близкий к нулю промежуток времени. А примеров того, когда что-то буквально одновременно происходит, я даже вспомнить не могу


#211554226

>>211554071
>Либо хранишь их в ФС / БД, которая позволит
Главное чтобы это все было в одном месте не разделено, грубо говоря в одной папке.
>либо вместо изменения самих файлов делаешь один патч, и при запросе любого из файлов применяешь все патчи, которые его касаются.
Подробнее поясни.


#211554317

>>211554184
Свет не распространяется же с задержкой. Пучок сразу летит со скоростью света, а там уже зависит от места нахождения наблюдающего.


#211554599

>>211554317
>Свет не распространяется же с задержкой. Пучок сразу летит со скоростью света
Подучи физику, без задержки у него свет...


#211554627

>>211554147
Ну тогда тупая итерация по диску, хуле тупые задачи задаешь?


#211554674

>>211554226
>>211554317
В классических кремниевых процессорах операции в любом случае выполняются поочередно, т.е. 1 операция в определенный момент времени. Поэтому если нужно чтобы все файлы были на одном носителе и все апдейты выполнились одновременно, то нужно либо чтобы у компьютера было 3 триллиона ядер, ну либо квантовые компьютеры использовать, я хз.


#211554754

>>211554674
>квантовые компьютеры использовать, я хз.
в них тоже поочерёдно будет выполняться, скорость будет невъебенно-въебеническая


#211554960

>>211553094
Ну тип for I in (ls /...); do sed bla blabla как-то так. За день сделает.


#211555043

>>211553894
50% предоплата, как всегда?


#211555094

>>211554674
Тут не столько ядра важны, сколько количество записывающих головок у жесткого диска, потому что упрешься ты именно в производительность ввода-вывода


#211555174

>>211553094
sed -i 's/foo/bar/g' *.txt
Не благодари

а лучше иди нахуй


#211555349

>>211555043
Конечно.


#211555462

>>211555094
Так то да, и то и другое одинаково важно. Большинство современных SSD дисков насколько я знаю поддерживают только до 8 параллельных операций записи.


#211555536

>>211553094
Очевидно же. Ставим три триллиона компов, на каждом синхронизируем время и запускаем скрипт, который исправит нужные буквы.


#211555644

>>211555094
схуяле


#211555701

Для этого нужен супепкомпьютер какив гугл


#211555705

Помещаем все тексты в записи бд, ебашим все исправления одной транзакцией.


#211555732

>>211553435
Не буду удалять. Просто их скопирую в другую папку и так же накопирую правильный документ.


#211555756

>>211555462
Но сама шина последовательная один хуй.


#211555762

>>211555701
Как*


#211555847

>>211555705
Как из 3х миллардов букв ты изменишь именно те нужные? Тоже проблема


#211555958

>>211553259
Лол. (нет)

>>211553382
Это уже обсуждается на уровне бизнеса, что можно, а что нельзя. Если нельзя - то времени займет куда больше.


#211555969

>>211555847
Нужно предварительно посчитать инвертированные индексы для нужных букв.


#211555975

>>211555847
Просто заменяешь весь текст в ячейке на правильный, лол, хули тут мудрить.

Тем не менее факт: на бигдате нихуя прям пиздец ОДНОВРЕМЕННОГО не бывает. Любые репликации проходят за конечное время.


#211556053

>>211555644
Потому что операции выполняются на уровне процессора, а загрузка\выгрузка на уровне оперативщины.

местный контингент оставляет желать лучшего.
ушел.


#211556208

this is the image
2620.jpg 333✘460,28Кб

>>211553094
> Программисты спасут мир
У тебя в розетке кончается электричество
@
спасение мира отменяется


#211556287

>>211555975
Переписывать сложнее чем внести небольшое изменение


#211556322

>>211555969
Что за индексы


#211556454

>>211556208
На распределительном посту РАО ЕЭС просыпается дежурный
@
Звонит программисту
Тот чинит ПО системы управления распред щитом
@
Тот спасает мир.

хотя ясен хуй в этой стране до сих пор в энергетике все оборудование аналоговое, максимум 70х годов выпуска, лол


#211556479

>>211553094
Архивируем по принципу слово оп = 0, хуй = 1, и = 2, пидорас = 3. То есть фраза оп хуй и пидорас будет 0 1 2 3, после чего заменяем в таблице значение x, на значение y: 3 = коммунист. Теперь во всех файлах запись 0 1 2 3 значит оп хуй и коммунист .


#211556530

>>211553094
Такое должен делать даже обоссаный junior DB administrator, не то что кодер.


#211556627

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


#211556709

>>211556287
Не бывает частичных замен, при любой правке любая сущность (файл, запись в бд, да почти любой высокоуровневый объект) полностью меняется на новую. Кроме, разве что, дописывания в конец файла.


#211556793

>>211553094
Хули тут сложного, упаковываешь в архив, меняешь в одном месте, распаковываешь архив.


#211556933

>>211556627
Интересчечно, а как это на деле будет работать, что будет с таблицой связываться и что делать в случае идентичных совпадений но в разных местах, как мы будем идентефицировать чтобы прога понимала


#211556961

>>211555644
Потому что время, которое у тебя уйдет на сами вычисления (полагаю, это будет просто последовательный перебор данных из файла) очень мало по сравнению с временем, которое уйдет на то чтобы прочитать и записать данные на диск. Плюс у диска количество одновременных операций ограничивается количеством головок
>>211555462
Подозреваю, даже если у тебя гипотетически есть объем оперативки, способный все это добро вместить, ты все равно в производительность памяти упрешься

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


#211557019

>>211556627
> для каждой нужной буквы в каждом файле будет хранить позиции где эта буква встречается.
Эта хэштаблица скушает места больше чем сам исходный файл.


#211557086

>>211556454
> все оборудование аналоговое, максимум 70х годов
Кошак бежит за мышкой
@
Сгорает секция
Программист в темноте
Тапком открывает банку с тушонкой


#211557291

>>211556961
Перебор хуевая идея на самом деле


#211557312

>>211553094
Хуясе. Ты вообще в курсе с чего начинается решение таких задач?

3 x 10^12 файлов (предположим в ASCII, порядок не сильно будет отличатся, даже если ты захочешь UTF-32)
3 x 10^9 символов в каждом файле

Это примерно 10^22 байт, или 10 зеттабайт. Ты вообще в курсе, насколько это большая цифра? В всём интернете информации на порядки меньше.

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

> Каким образом мы одновременно сможем сделать исправление в трех триллионах файлах txt в определенном месте (буквах) из 3 миллиардов.

Первый вопрос. Что, по твоему значит ;одновременно;? Такие исправления будут с 99,999...% вероятностью делатся обычным алгоритмом Find & Replace, только бустанутым и оптимизированым до небес. Что такое эта твоя одновременность?

Второй вопрос. В какой структуре данных хранятся эти файлы? Учитывая задачу и масштабы, имеет смысл сделать файловую систему специально заточенную под твоё устройство хранения и специально под хранение текстовых файлов. Могу сразу сказать, что если это не квантово-блевотно-сверхсветовой SSD, то все современные FS должны скурвиться.


Для начала хватит. Доопредели задачу. Иначе можешь до тепловой смерти вселенной искать исполнителя.


#211557383

>>211554147
ОН НАМ И НАХУЙ НЕ НУЖОН MAP REDUCE ВАШ!


#211557493

>>211554147
>Давай идею о распределение текстовых документов на другие носители вообще уберем.
В смысле? Это основной способ ускорения с тех пор, как компы перестали наращивать мощность как в законе Мура.

Сначала раскидываешь, потом снова собираешь и хоп - они снова на одном носителе.

>>211557383
Дваждую.


#211557659

>>211553094
3 миллиарда букв в unicode32 это 11Gb.
3 миллиарда по 11.2Gb это 26.6 экзобайт данных. Всего-то.
Но ты не задал ограничений по памяти, времени выполнения и temporary storage.

Так что я просто решу это через map-reduce с регулярками.

То что обрабатывало петабайты пережует и экзабайты (конечно если у тебя регулярки не многострочные - тогда в худшем случае придется грузит целый файл в память скорее всего. А это либо быстро и дорого с кучей жирных
16Gb RAM серверов или медленно и дешево с парочкой 16Gb RAM серверов).


#211557686

>>211557659
Файлов не 3 милларда, а 3 триллиона.


#211557732

>>211557659
>>211557312
>>211556627
Вопрос о нахождение нужных букв остается открытым.


#211557821

https://www.youtube.com/watch?v=hRLb_fxBTm0


#211557832

>>211557732
Отлично. Если ты не хочешь доопределять задачу, а хочешь ответа в ;общем; виде, то ты его уже получил. В первом посте. И в других, слепой ты хуй.

РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ


#211557876

>>211553094
Тут выше головы не прыгнешь, операции с диском - последовательные, по этому буду втупую открывать каждый файл, fseek в нужную позицию, переписывать, закрывать файл. Одновременно этого не сделать.


#211557967

>>211557876
НУЖНО БОЛЬШЕ МНОГОЗАДАЧНОСТИ, ОДНОВРЕМЕННО ПОНИМАЕШЬ, ОНДВОРМЕННО, СУПЕР КВАНТВОВЫЕ КОМПЬЮТЕРЫ ХУЁ МОЕ


#211558043

>>211553094
Ты сумасшедший?


#211558100

>>211557383
>>211557967
Ну не бомби ты так. Ещё один шизик с его великой idee fixe. Такая редкость на двощах, да?


#211558166

>>211558100
> idee fixe
Что это


#211558207

this is the image
2310.mp4 460✘460,291Кб

>>211557876
>по этому


#211558275

>>211558166
https://ru.wiktionary.org/wiki/ идея_фикс
https://en.wikipedia.org/wiki/Idé ;e_fixe_(psychology)
Идее фикс же. Незнакомое выражение?


#211558393

>>211553094
> Предположим что у нас есть 3 триллиона текстовых документа, в этом каждом документе по 3 миллиарда букв.
> Каким образом мы одновременно сможем сделать исправление в трех триллионах файлах txt в определенном месте (буквах) из 3 миллиардов.
> Решив эту задачу вы спасете мир. Какие предложения?

ЛЕГКО решу, даже на стареньком 286 и MS-DOS.

Ответ:
При отображении текста на экран из .txt файла, искомая последовательность букв заменяется.
Так пользователь всегда получает исправленный документ.


https://ru.wikipedia.org/wiki/ Звук_падающего_дерева_в_лесу


#211558406

>>211553094
> Каким образом мы одновременно сможем сделать исправление в трех триллионах файлах txt в определенном месте (буквах) из 3 миллиардов
Нахуя?


#211558499

>>211558393
Умно. Самая медленная часть компьютера - это прослойка между креслом и монитором, да?


#211558534

>>211553094
>Программисты спасут мир.
Каждый раз обсираюсь с даунов, которые считают, что программисты - это нечто божественное.
Поясняю тебе, маня. Если бы не было рабочих, которые построили твой дом, инженеров, которые его спроектировали, электриков, которые подключили твою квартиру к электричеству, швейных фабрик, которые сшили тебе одежду, китайцев, которые делают на заводах гаджеты для того, что бы ты мог программировать, инженеров и рабочих для того, чтобы добывать цветные металлы, для тех же гаджетов, сельских рабочих, которые поставляют еду в магазины, в которых нужны продавщицы, врачей, которые лечат тебя, фармацевтов, которые придумывают лекарств и прочего-прочего, то ты, мамкин программист, сидел бы в пещере и думал бы, каким образом совместить палку и камень, что бы получилось примитивнейшее орудие труда.
Мир спасут и спасают рабочие и врачи.


#211558578

>>211556479
Капитаглист порвался на ровном месте


#211558606

>>211553094
>Какие предложения?
Заплати, потом проси.


#211558650

>>211558534
Врачи калечат


#211558669

>>211553094
>Предположим что у нас есть 3 триллиона текстовых документа, в этом каждом документе по 3 миллиарда букв.
Все документы одинаковые, или каждый - уникальный?

>Каким образом мы одновременно сможем сделать исправление в трех триллионах файлах txt в определенном месте (буквах) из 3 миллиардов.
Что значит ;определенное место;, блядь? Тебе надо поменять каждую определенную букву, или тебе надо поменять букву на определенной строке, или тебе надо поменять точную по счету букву?

А может тебе за щеку натолкать за такое условие задачи?


#211558740

>>211558534
Часто замечаю, что программисты создают треды про то, как охуенно быть погромистом, будто такими тредами сами себя убеждая, что они элита.


#211558764

>>211558650
Как заболеешь - не иди к врачу.
Когда ребёнок родится - не давай этим мразям поставить прививки, а то покалечат


#211558805

>>211558764
Так и делаю. Все живы-здоровы.


#211559044

>>211553094
sed


#211559227

>>211558393
Где в задаче пользователь читающий с экрана?

Чёрт ты тупорылый


#211559245

>>211558740
Тут дело в том, что программистом может, и чаще всего становится, именно двачерский тип личности, потому что:
1. Программером можно стать, сидя дома у мамы на шее не имея никаких социальных навыков.
2. Отсутствие социальных навыков в купе с трудолюбием даёт годного программиста.
Кроме того, программист - профессия новая на данный момент и требующая определённой усидчивости, что делает программистов дефицитом. А так как оцифровывания мира идёт семимильными шагами, то получается, что прогеров мало, тем более годных, а запросы на них огромные, в следствии чего высокая ЗП. Но, по законам экономики, в скором времени ЗП программиста будет на уровне ЗП остальных инженеров, т.к. высокие ЗП привлекут огромное количество народу, конкуренции станет больше начнут подтянут высшее учебные заведения под эту специальность. Не сомневаюсь, что в будущем, хотя бы основы программирования введут в школьную программу, так что каждый школьник будет хоть немного да шарить в этом, хотя бы азы.
А на данный момент высокие ЗП и, что особенно важно для битарда, возможность обучению сидя дома у мамки на шее, без соц. контактов делает эту профессия чуть ли не божественной для двачеров.


#211559292

>>211553094
Ни как, на кудахтере не хватит объёма памяти ПЗУ и ОЗУ, а если и хватит, то эта залупа будет деться слишком долго.
997446 петабайт памяти, если у тебя на пекарне столько нет, то иди нахуй


#211559411

>>211559292
850000 не хватит?


#211559448

>>211559411
Нет, не хватит


#211559528

>>211553706
Не трать на него свое время


#211559577

>>211553094
Одновременно невозможно. В течение короткого времени можно.


#211559586

>>211554151
БЛОК ЧЕЙН


#211559591

>>211553094
Многопоточный кластер суперкомпьютера. Мы знаем начальные адреса документов, по сдвигу находим нужный символ, заменяем. Задача o(n). Запускаем условный тредпклэкзекьютор на все доступные потоки, по факту на 3 трилиона файлов. Тоже o(n)/k потоков. Единственное ограничение - доступ к винту через шину, контроллер не даст менять все одновременно, поэтому будет долго. Вот собственно и все


#211559625

>>211559245
Без взаимодействия с командой нормального программиста не получится, только кодомакака.


#211559643

>>211553094
map/reduce


#211559651

>>211553094
Можно не одновременно, а по запросу. Ленивое программирование


#211559743

>>211559651
Этот шарит. Просто писать в историю изменения и при открытии нужного файла накидывать их


#211559902

>>211559743
Да можно и подождать ради одного файла в первый раз


#211560060

>>211557832
> Отлично. Если ты не хочешь доопределять задачу, а хочешь ответа в ;общем; виде, то ты его уже получил. В первом посте. И в других, слепой ты хуй.

> РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
В простейшем случае даже не регулярки а линуксовый tr.


#211560205

>>211557876
> Тут выше головы не прыгнешь, операции с диском - последовательные, по этому буду втупую открывать каждый файл, fseek в нужную позицию, переписывать, закрывать файл. Одновременно этого не сделать.
mapreduce любая distributed FS.

Гугел такие задачи в 2000х решал, сейчас может решить любой васян с каким-нибудь кибернетисом, drbd и кластером из говносерверов.


#211560235

>>211553094
Пишу модуль для FUSE который правит файлы при доступе к ним


#211560309

>>211560235
Это


#211560493

>>211558275
Я программист по-твоему чтобы знать это говно?


#211560571

>>211558406
Какие же тупики раз до сих пор не поняли нахуя это все.


#211560603

>>211560493
Лол. Нет, психолог, очевидно.


#211560653

>>211558669
В каждом документе одинаковые буквы


#211560751

>>211558669
Проблема в том что таких букв или нужной нам последовальности букв будет дохуя, вот и сложность возникнет в том что бы найти нужную


#211560841

>>211559577
В пределах нескольких секунд?


#211560874

>>211559591
> . Мы знаем начальные адреса документов, по сдвигу находим нужный символ, заменяем.
>>211560751


#211560997

>>211560235
Сосеш


#211561082

>>211553094
На оппике армянка?


#211561104

>>211560603
Ты хочешь сказать что я шизоренник?


#211561147

>>211561082
С какой целью интересуешься?


#211561206

>>211561104
Я не хотел. Пока ты не написал этот пост, шиза.


#211561319

>>211561206
Почему моя идея сверхценная?


#211561419

>>211561147
Прост красивый трап, не смог пройти мимо


#211561523

>>211553094
Скажу, что нужен хадуп, буду с ним ебаться, пока не кончится финансирование, параллельно ища следующий проект подальше от ебанутых.


#211561665

>>211561523
Пидораха


#211562616

>>211561319
А ты ОП? Ты заостряешь внимание на некоторых мелких деталях, отказываясь пояснить то, что у тебя спрашивают люди.
Т.е. тебе важны именно эти мелкие (но не важные по делу) детали. Обычный признак фиксации.

Вот этот пост >>211557732 это просто апогей больного мономанией, блядь.


#211562825

>>211560571
Чтобы мировое правительство могло постоянно переписывать историю?


#211563459

>>211562825
Да нет же! Чтобы можно было переписать Имя Бога во всех священных текстах одновременно! И эти тексты должны находиться в одном месте, чтобы эффект был потрясающим воображение.