Я не понял, зачем на 55 минуте mem::forget: понятно что это сделано чтобы в нормальной работе не позвался дроп, и не было паники. Но кто будет память деаллоцировать? Ладно если в стеке - оно само забудется. А если в куче?
Да, чтобы выключить drop. Действительно, если бы в типе были какие-то ресурсы в куче, то они бы утекли. В таких паттернах ещё часто возникает либо `mem::take` на аллоцированых полях, чтобы их явно почистить, либо сегрегрегация drop в специально поле в отдельный тип, в котором точно ничего ценного не лежит.
крутой курс. смотрю подряд. но есть одна проблема - ощущение что есть оч большие пропуски в подаче материала, как будто есть расчет что студенты "добирают" материал вне видеолекций...
@@oriontvv Так то вы правы - это совсем не смешно, наоборот даже грустно. Например вот выпустят игру и она будет раз в 25 кадров генерировать один кадр быстрее 1/120 секунды и 9 кадров медленнее 1/10 секунды. В бенчмарке напишут что скорость 120 fps - вот только играть в это будет невозможно. И когда на очередном фризе получаешь пулю в лоб - становится совсем не смешно. А рассмешило меня, то что похоже они делают это СПЕЦИАЛЬНО. Прекрасно понимаяя разницу.
@@sergey6661313 еще раз пересмотрите аргументацию почему брать минимум из нескольких замеров самый корректный способ. и это абсолютно никак не пересекается со скоростью работы графического процессора и его характеристиками. очевидно что для измерения числа кадров метрика будет другая, поскольку там другие приоритеты и предметная область(там насколько мне известно как раз берут среднее значение чтобы все шумы сильнее влияли на результат)
Единственное что я осознал с этого урока , что нет чашки чая на столе
14:14 - в современных версиях AVX поддерживаются операции gather, которые как раз такой код и векторизуют.
30:50 - странно что компилятор не делает эту тривиальную оптимизацию.
49:30 Вопрос не слышно, к сожалению. Было бы хорошо, если бы Лёша озвучил его вслух.
Я не понял, зачем на 55 минуте mem::forget: понятно что это сделано чтобы в нормальной работе не позвался дроп, и не было паники. Но кто будет память деаллоцировать? Ладно если в стеке - оно само забудется. А если в куче?
Да, чтобы выключить drop. Действительно, если бы в типе были какие-то ресурсы в куче, то они бы утекли. В таких паттернах ещё часто возникает либо `mem::take` на аллоцированых полях, чтобы их явно почистить, либо сегрегрегация drop в специально поле в отдельный тип, в котором точно ничего ценного не лежит.
Алексей, ну мы побенчмаркали код без векторизации, добавив индирекшен а почему не добавили бенчмарки с векторизацией?
А, вроде разобрался, интернеты пишут что итераторы векторизуются.. и значит будет быстро)
крутой курс. смотрю подряд. но есть одна проблема - ощущение что есть оч большие пропуски в подаче материала, как будто есть расчет что студенты "добирают" материал вне видеолекций...
Так и есть
Там домашки
А что за приватное видео? Кто может задания по домашке скинуть, если не запрещено.
compscicenter.ru/courses/rustprogramming/2019-spring/classes/ вот тут есть другие видео
@@stokitko Спасибо, а задач нет?
Алексей Пушкин не знаю, но это онлайн институт и в принципе недорогой: я думаю есть смысл оплатить
@@stokitko, зачем оплачивать доступ к информации, которая есть в свободном доступе?
@@rsxrwscjpzdzwpxaujrr чтобы люди которые выкладывают такую информацию могли кушать и выкладывать ещё
RustRower Beta вы же еë и пишите!)
лол мерить бенчмарки по минимумам результатов....
что смешного? это самая распространенная практика. в видео даже были аргументы
@@oriontvv Так то вы правы - это совсем не смешно, наоборот даже грустно. Например вот выпустят игру и она будет раз в 25 кадров генерировать один кадр быстрее 1/120 секунды и 9 кадров медленнее 1/10 секунды. В бенчмарке напишут что скорость 120 fps - вот только играть в это будет невозможно. И когда на очередном фризе получаешь пулю в лоб - становится совсем не смешно. А рассмешило меня, то что похоже они делают это СПЕЦИАЛЬНО. Прекрасно понимаяя разницу.
@@sergey6661313 еще раз пересмотрите аргументацию почему брать минимум из нескольких замеров самый корректный способ. и это абсолютно никак не пересекается со скоростью работы графического процессора и его характеристиками. очевидно что для измерения числа кадров метрика будет другая, поскольку там другие приоритеты и предметная область(там насколько мне известно как раз берут среднее значение чтобы все шумы сильнее влияли на результат)
@@sergey6661313 контекст - ну да, ну да, пошёл я на фиг
Очевидно в видео бенчмарки считаются сдругой целью чем если бы они считались в твоём контексте
По работе с ошибками удобный крейт thiserror