Вопросы не про базовые вещи. Если их не задавать, можно потратить время на код, который сам по себе работает правильно, только делает не то и не так. Даже если попросили написать FizzBuzz, имеет смысл кое-что уточнить.
1000 часов — это год по три часа в день без выходных — очень приличная нагрузка. Ну или два года в расслабленном темпе, по настроению. Так что про "advanced за 1000 часов" — верю.
1: В описаниях алгоритмов часто используются абстрактные структуры данных, например какой-нибудь идеальный список в вакууме: добавьте элемент в список, удалите из списка, возьмите из списка минимальный элемент. А что лучше, постоянно искать минимальный элемент или просто хранить «список» всегда отсортированным? В зависимости от твоей интерпретации и реализации скорость может отличаться в десятки раз.
2: Авторам описанного и особенно реализованного по барабану, в каком виде у тебя исходные данные. Например, хранить граф или 3-мерную сетку можно десятком способов, удобных для одних целей и неудобных для других. Как ты будешь конвертировать свои конкретные данные в удобный алгоритму/его реализации формат и сколько времени это займёт, никого не интересует.
3: Имеющиеся реализации довольно часто ставят себе целью просто решить задачу, а не решить задачу эффективно или хотя бы аккуратно. Последний пример: искал триангуляцию полигонов для .NET. В реализации популярной библиотеки Poly2Tri элементарная сущность «вершина» описана ссылочным типом. И никак его не заменить на value-тип, не переписывая 2/3 библиотеки. Просто отлично ― больше мусора богу мусора.
Ещё нужно учитывать характер входных данных, которые будут использоваться на практике. Например, по логике их требуется сначала отсортировать за какое-то O(), но по факту они всегда приходят почти отсортированными, надо только пару элементов подвинуть.
Я вообще не думаю про O(), пока не получу первый код и не испытаю его на правильном наборе данных. Код решает практические задачи, а как он себя ведёт на N, стремящемся в бесконечность, вопрос чисто теоретический. На практике бесконечности не существует.
У обоих SSD в моей системе, SATA3 и PCIE3.0, read access time по тестам ~100 мкс. Windows это или сами накопители, с практической точки зрения результат одинаковый.
Кстати, в обычных десктопных задачах, браузер, ворд и т.п. между i5-2500k на 4,4ГГц и 3700X разницы на глаз нет вообще. Если есть, надо с секундомером сидеть. В игрушках да, видно в некоторых, которые упирались в 2500k.
И между Sata SSD и в три раза более быстрым NVMe разницы на глаз тоже нет, если не копировать непрерывно большие файлы.
Я брал боксовый, т.к. в тот момент оемный был почти за ту же цену. Если пробовать включить какой-то разгон, родной кулер воет и температура на максимуме. Если использовать в стоке, то кулер справляется нормально, а обороты можно подстроить, чтобы в обычном режиме было неслышно. Под нагрузкой же шумноват, на мой вкус. Не так, как родной от i5-2500k, но всё-таки.
Микрофон и колонки/наушники интереснее вставлять в AV-тюльпан. Какая-то старая видеокарта в XP при этом думала, что это появился второй монитор и меняли разрешение экрана на первом.
USB Type A отлично входит в RJ45. Особенно когда втыкаешь в заднюю панель наощупь.
Верно. У трансов получаются отличные технические доклады.
Вопросы не про базовые вещи. Если их не задавать, можно потратить время на код, который сам по себе работает правильно, только делает не то и не так. Даже если попросили написать FizzBuzz, имеет смысл кое-что уточнить.
Не хватает связки SSD+HDD в виде AMD StoreMI.
Просто "список" — вполне себе абстрактный. Двусвязный — другое дело.
https://devblogs.microsoft.com/dotnet/introducing-net-5/
Это же прикладные библиотеки/феймвоки для Windows со словом Windows в названии, просто портированные на NET Core. Где им ещё работать?
1000 часов — это год по три часа в день без выходных — очень приличная нагрузка. Ну или два года в расслабленном темпе, по настроению. Так что про "advanced за 1000 часов" — верю.
Купил 3700X, без "бы". Восемь лет не менял процессор, не удержался.
Предполагаю, что read latency. Очень надеюсь, что оно измеряется, а не как-то высчитывается через iops.
Как только fio можно будет просто взять и запустить на Windows лишних танцев.
Поэтому специально пишу конкретно: SATA-3 vs PCI-E 3.0.
2: Авторам описанного и особенно реализованного по барабану, в каком виде у тебя исходные данные. Например, хранить граф или 3-мерную сетку можно десятком способов, удобных для одних целей и неудобных для других. Как ты будешь конвертировать свои конкретные данные в удобный алгоритму/его реализации формат и сколько времени это займёт, никого не интересует.
3: Имеющиеся реализации довольно часто ставят себе целью просто решить задачу, а не решить задачу эффективно или хотя бы аккуратно. Последний пример: искал триангуляцию полигонов для .NET. В реализации популярной библиотеки Poly2Tri элементарная сущность «вершина» описана ссылочным типом. И никак его не заменить на value-тип, не переписывая 2/3 библиотеки. Просто отлично ― больше мусора богу мусора.
Ещё нужно учитывать характер входных данных, которые будут использоваться на практике. Например, по логике их требуется сначала отсортировать за какое-то O(), но по факту они всегда приходят почти отсортированными, надо только пару элементов подвинуть.
Я вообще не думаю про O(), пока не получу первый код и не испытаю его на правильном наборе данных. Код решает практические задачи, а как он себя ведёт на N, стремящемся в бесконечность, вопрос чисто теоретический. На практике бесконечности не существует.
У обоих SSD в моей системе, SATA3 и PCIE3.0, read access time по тестам ~100 мкс. Windows это или сами накопители, с практической точки зрения результат одинаковый.
Кстати, в обычных десктопных задачах, браузер, ворд и т.п. между i5-2500k на 4,4ГГц и 3700X разницы на глаз нет вообще. Если есть, надо с секундомером сидеть. В игрушках да, видно в некоторых, которые упирались в 2500k.
И между Sata SSD и в три раза более быстрым NVMe разницы на глаз тоже нет, если не копировать непрерывно большие файлы.
Я брал боксовый, т.к. в тот момент оемный был почти за ту же цену. Если пробовать включить какой-то разгон, родной кулер воет и температура на максимуме. Если использовать в стоке, то кулер справляется нормально, а обороты можно подстроить, чтобы в обычном режиме было неслышно. Под нагрузкой же шумноват, на мой вкус. Не так, как родной от i5-2500k, но всё-таки.
А, ну да, точно.
Неймспейсы не нужны. По умолчанию будет глобальный неймспейс.
Откуда взялся С#, когда вся первая половина про Java?
Микрофон и колонки/наушники интереснее вставлять в AV-тюльпан. Какая-то старая видеокарта в XP при этом думала, что это появился второй монитор и меняли разрешение экрана на первом.
USB Type A отлично входит в RJ45. Особенно когда втыкаешь в заднюю панель наощупь.
Пардон, забыл, что это перевод. Значит, качественный перевод.
На каком железе?