Эксперименты любопытные. Хотя у меня эта задача как до статьи вызывала чувство неопределённости, так и продолжает.
1) Ок, в первый раз каталоги читаются с диска, и всё должно упираться в его скорость. Не навредит ли параллельность, если у нас HDD, и надо двигать головки? (понятно, что для упомянутого в статье частного случая IDE этот вопрос даже и не стоит)
2) При последующих вызовах в идеале всё уже лежит в кэше, и обход дерева - это, по сути, просто перекладывание данных из одной области памяти в другую. А что именно тогда основные тормоза даёт? Переключение контекста ОС между пользователем и ядром? А за счёт чего возникает разница при обходах дерева в ширину и в глубину?
3) Главный практический вопрос: на сколько нитей оптимальнее всего распараллеливаться?
4) И как это должно зависеть от: диска, процессора, ОС, языка программирования, фазы луны?
Тут ещё есть такой момент, что когда допечатали 10 рублей - эти 10 рублей возникли не у потребителей яблок, а у государства. Далее, если упростить, государство потребило лишнее яблоко и заплатило за него лишние 10 рублей. Производитель яблок заработал в этом году на 10 рублей больше, чем в предыдущем. Далее, если обычно он на яблочный заработок покупает у соседа картоху, то он создаст повышенный спрос -> цены на картоху вырастут.
Инфляция же — это естественный процесс. Спрос вырос. Бизнес начинает больше производить. Для этого нужна рабочая сила, но трудовые ресурсы ограничены демографией. Безработица опускается. Компании, конкурируя за сотрудников, повышают зарплаты. Люди начинают больше потреблять. И так по кругу.
Проблема этого тезиса в том, что под словом "спрос" подразумеваются не просто хотелки, а именно платёжеспособный спрос. А он совокупно не меняется, если объём денежной массы соответствует объёму произведённых товаров. Т.е. конкуренция потребителей за товары растёт либо если денег допечатали, либо если производство упало (хотя одно другого не исключает).
Соответственно, естественным уровнем инфляции будет допечатывание денег, примерно равное величине роста производства вследствие технического прогресса. Но не вот это "по кругу".
Остальное комментировать не буду, т.к., видимо, это и был основной тезис статьи, а прочее во многом выглядит как переливание из пустого в порожнее, а местами и товарищем майором пованивает, с попыткой развести на эмоции.
То, что LinkedList не подходит для доступа по индексу, очевидно из его устройства. То, что ArrayList не подходит для вставки в начало, также очевидно из его устройства. Единственные интересные тут числа - это что вставка в конец LinkedList медленнее, чем в ArrayList. Видимо, операции с выделением памяти такие дорогие.
Предложенную структуру тоже не очень понимаю, зачем надо было изобретать. Если довести такое кэширование до крайнего состояния, то получится дерево. И не вижу причин, чтобы как раз его и не использовать. Было бы интересно, если бы, например, TreeMap тоже присутствовал в испытаниях.
Процитирую коммент с богопротивной Пикабушечки к головоломке про туристов.
Скрытый текст
1. Четверо, список дежурных на 4, на подстилке лежит 4 ложки и 4 тарелки.
Восемь — по девушке на каждого парня, дежурят парами и для сокращения указали в списке только одно имя. Девушки собирают ягоды в соседнем малиннике (одна из них заодно бабочек ловит сачком). Недостающие тарелки и ложки прямо сейчас один из парней достаёт из рюкзака.
2. Не сегодня, между палаткой и деревом успела образоваться паутина. И дежурит не Коля (он сидит возле рюкзака с буквой «К»).
Приехали сегодня, рюкзаки ещё полные, а арбуз нетронут. А время плетения паутины составляет около часа, так что по ней ничего определить не получится.
3. На лодке. Возле дерева стоят вёсла. Тут еще стоит иметь ввиду, что это Советская загадка, а в то время машин не было в таком большом количестве, как сейчас.
Приехавшие на лодке с вероятностью 99% разобьют лагерь на берегу. И смысл идеи тащить вёсла в лагерь вместо того, чтобы оставить их в лодке, от меня тоже ускользает. Так что приехали всё же на машине, а лодку и вёсла привезли с собой.
4. На дереве длиннее ветки на южной стороне, а короче - на северной. А теперь можно посмотреть на пламя костра - оно «тянется» на север. Следовательно ветер южный.
На дереве ветки длиннее с той стороны, где других деревьев нет. Также роза ветров существенно сказывается. Так что это нихрена не показатель. Зато вполне очевидно, что похлёбку варят на обед, да и размещать лагерь ночью затея не очень удачная — мы ведь уже выяснили, что приехали туристы сегодня. Также на обеденное время намекает высота солнца — её можно прикинуть по длине теней от повара, арбуза и рюкзака. Так что ветер вполне себе западный.
5. Утро, так как тень падает на запад, а солнце светит с востока.
Вполне себе обед, чуть ранее я уже написал, почему.
6. Шура ушёл ловить бабочек. Видно сачок за кустами, падающий на бабочку. Почему именно Шура? Потому что в вопросе указано "куда ушел", а отсутствует на картинке только один человек.
Шура тащит лодку к озеру/реке — девушкам такое не доверить.
7. Шура ушёл за бабочками, Коля сидит возле рюкзака с буквой "К". Ещё один мальчик фотографирует. Прямо видим рюкзак с буковкой «В», в котором лежит штатив. Соответственно, фотографа зовут на букву «В» — Вася. Методом исключения — сегодня дежурит Петя. Значит вчера дежурил Коля.
Никто вчера не дежурил, они сегодня только приехали (на возражения, что нужно обязательно назвать имя, отвечу, что тогда второй вопрос лишён смысла — если вчера гарантировано кто-то дежурил, то приехать сегодня туристы не могли).
8. Сегодня дежурит Петя - значит восьмое. Восьмое августа. Арбузы в августе. Хоть арбузы есть и в сентябре, но на август также указывают бабочки и не опавшая листва.
7 сентября — бабочки ещё отлично летают, а листва в центральном регионе начинает опадать во второй половине сентября. А вот одежда на туристах для августа слишком тёплая — на картинке никого в майке, зато один в свитере, второй в куртке и шапке. Относительно легко одет только человек у костра.
PS Это я всё к чему — авторы таких постов с вопросами и картинками решительно считают только один ход мыслей правильным, не рассматривают возможные варианты, а безапелляционно утверждают, что знают истину, хотя вариантов не противоречащих картинке ответов полно.
И с точкой зрения комментатора я более-менее согласен.
С другой стороны, если не докапываться до того, какая версия правильная, а какая нет, то построение непротиворечивой версии - это уже развитие фантазии и логики, ну и приятно.
С мотивацией как раз всё просто - при современных объёмах дисков ради надёжного хранения гигабайта данных совершенно не жалко выделить десяток или даже сотню гигабайтов на диске. Соответственно, вы храните на этом месте копии чужих "сайтов", а они взамен - копии вашего.
А вот изобрести протокол всего этого - довольно интересная задача. Непростая, но решаемая (если хоть какое-то финансирование найти...)
С рассуждением про опасность согласен. Но и на смарт полагаться тоже как-то сомнительно. Не утонет, так просто разрядится. Если уж нужна надёжность, то надо на бумаге печатать (только не на струйном принтере).
Слишком уж магический подход: ну вот тут какие-то циферки поменяйте, авось, заработает.
Хотя я и сам по такому же принципу действовал, и оно заработало, но - хотелось бы знать, что именно испортили в этот раз и какие перспективы на будущее.
Обычно так происходит, потому что для копирования только новых нужно разбираться с каким-то отдельным софтом, а копирование всего подряд - это банальный copy-paste.
Например, лично я использую rsync с тщательно подобранными ключиками, но вот как жить обычному пользователю - страшно представить.
В таком случае у меня есть версия, как расшифровывается "Г" в названии системы...
Обожаю этот паттерн
Эксперименты любопытные. Хотя у меня эта задача как до статьи вызывала чувство неопределённости, так и продолжает.
1) Ок, в первый раз каталоги читаются с диска, и всё должно упираться в его скорость. Не навредит ли параллельность, если у нас HDD, и надо двигать головки? (понятно, что для упомянутого в статье частного случая IDE этот вопрос даже и не стоит)
2) При последующих вызовах в идеале всё уже лежит в кэше, и обход дерева - это, по сути, просто перекладывание данных из одной области памяти в другую. А что именно тогда основные тормоза даёт? Переключение контекста ОС между пользователем и ядром? А за счёт чего возникает разница при обходах дерева в ширину и в глубину?
3) Главный практический вопрос: на сколько нитей оптимальнее всего распараллеливаться?
4) И как это должно зависеть от: диска, процессора, ОС, языка программирования, фазы луны?
Тут ещё есть такой момент, что когда допечатали 10 рублей - эти 10 рублей возникли не у потребителей яблок, а у государства. Далее, если упростить, государство потребило лишнее яблоко и заплатило за него лишние 10 рублей. Производитель яблок заработал в этом году на 10 рублей больше, чем в предыдущем. Далее, если обычно он на яблочный заработок покупает у соседа картоху, то он создаст повышенный спрос -> цены на картоху вырастут.
Коммент-вместо-минуса
Проблема этого тезиса в том, что под словом "спрос" подразумеваются не просто хотелки, а именно платёжеспособный спрос. А он совокупно не меняется, если объём денежной массы соответствует объёму произведённых товаров. Т.е. конкуренция потребителей за товары растёт либо если денег допечатали, либо если производство упало (хотя одно другого не исключает).
Соответственно, естественным уровнем инфляции будет допечатывание денег, примерно равное величине роста производства вследствие технического прогресса. Но не вот это "по кругу".
Остальное комментировать не буду, т.к., видимо, это и был основной тезис статьи, а прочее во многом выглядит как переливание из пустого в порожнее, а местами и товарищем майором пованивает, с попыткой развести на эмоции.
То, что LinkedList не подходит для доступа по индексу, очевидно из его устройства. То, что ArrayList не подходит для вставки в начало, также очевидно из его устройства. Единственные интересные тут числа - это что вставка в конец LinkedList медленнее, чем в ArrayList. Видимо, операции с выделением памяти такие дорогие.
Предложенную структуру тоже не очень понимаю, зачем надо было изобретать. Если довести такое кэширование до крайнего состояния, то получится дерево. И не вижу причин, чтобы как раз его и не использовать. Было бы интересно, если бы, например, TreeMap тоже присутствовал в испытаниях.
Процитирую коммент с богопротивной Пикабушечки к головоломке про туристов.
Скрытый текст
Восемь — по девушке на каждого парня, дежурят парами и для сокращения указали в списке только одно имя. Девушки собирают ягоды в соседнем малиннике (одна из них заодно бабочек ловит сачком). Недостающие тарелки и ложки прямо сейчас один из парней достаёт из рюкзака.
Приехали сегодня, рюкзаки ещё полные, а арбуз нетронут. А время плетения паутины составляет около часа, так что по ней ничего определить не получится.
Приехавшие на лодке с вероятностью 99% разобьют лагерь на берегу. И смысл идеи тащить вёсла в лагерь вместо того, чтобы оставить их в лодке, от меня тоже ускользает. Так что приехали всё же на машине, а лодку и вёсла привезли с собой.
На дереве ветки длиннее с той стороны, где других деревьев нет. Также роза ветров существенно сказывается. Так что это нихрена не показатель. Зато вполне очевидно, что похлёбку варят на обед, да и размещать лагерь ночью затея не очень удачная — мы ведь уже выяснили, что приехали туристы сегодня. Также на обеденное время намекает высота солнца — её можно прикинуть по длине теней от повара, арбуза и рюкзака. Так что ветер вполне себе западный.
Вполне себе обед, чуть ранее я уже написал, почему.
Шура тащит лодку к озеру/реке — девушкам такое не доверить.
Никто вчера не дежурил, они сегодня только приехали (на возражения, что нужно обязательно назвать имя, отвечу, что тогда второй вопрос лишён смысла — если вчера гарантировано кто-то дежурил, то приехать сегодня туристы не могли).
7 сентября — бабочки ещё отлично летают, а листва в центральном регионе начинает опадать во второй половине сентября. А вот одежда на туристах для августа слишком тёплая — на картинке никого в майке, зато один в свитере, второй в куртке и шапке. Относительно легко одет только человек у костра.
PS Это я всё к чему — авторы таких постов с вопросами и картинками решительно считают только один ход мыслей правильным, не рассматривают возможные варианты, а безапелляционно утверждают, что знают истину, хотя вариантов не противоречащих картинке ответов полно.
И с точкой зрения комментатора я более-менее согласен.
С другой стороны, если не докапываться до того, какая версия правильная, а какая нет, то построение непротиворечивой версии - это уже развитие фантазии и логики, ну и приятно.
холоп, смерд, черносошный, вольный хлебопашец
То есть, флаг может быть воспринят как политическая позиция, а вот буквенный код той же страны - это совсем другое?
Ясно, понятно...
...что лично у меня даже вызывает некоторое удовольствие.
Хотя да - и злорадство непродуктивно, и вина их косвенная - но...
С мотивацией как раз всё просто - при современных объёмах дисков ради надёжного хранения гигабайта данных совершенно не жалко выделить десяток или даже сотню гигабайтов на диске. Соответственно, вы храните на этом месте копии чужих "сайтов", а они взамен - копии вашего.
А вот изобрести протокол всего этого - довольно интересная задача. Непростая, но решаемая (если хоть какое-то финансирование найти...)
С рассуждением про опасность согласен. Но и на смарт полагаться тоже как-то сомнительно. Не утонет, так просто разрядится. Если уж нужна надёжность, то надо на бумаге печатать (только не на струйном принтере).
Вспомнил, как в какой-то книге читал про квадратное отверстие диаметром два на четыре...
Мне не понравилась статья.
Слишком уж магический подход: ну вот тут какие-то циферки поменяйте, авось, заработает.
Хотя я и сам по такому же принципу действовал, и оно заработало, но - хотелось бы знать, что именно испортили в этот раз и какие перспективы на будущее.
Ждал в конце чего-то в духе: "на проде, конечно, мы так делать не будем".
Но не дождался.
Так что восприятие статьи перешло из жанра триллера в ужасы.
Я ещё не успел смириться с тормозами и памятежручестью браузеров.
А тут уже на подходе тормозные смотрелки картинок...
Будущее, которое мы заслужили?
Ну, кстати, да. В общем случае, для документов каких-нибудь, не прокатит. Но изначально речь шла про фоточки, а для них - прокатит вполне.
Вы полагаете, что какой-нибудь условный сотрудник китайского КГБ не сумеет зарегистрироваться на гитхабе "по паспорту"?
Обычно так происходит, потому что для копирования только новых нужно разбираться с каким-то отдельным софтом, а копирование всего подряд - это банальный copy-paste.
Например, лично я использую rsync с тщательно подобранными ключиками, но вот как жить обычному пользователю - страшно представить.