
Ned Ogl
19.10.2016
06:23:54
Следовательно, выгоднее статистически затирать страницы.
Я просто попутно проектирую mm своей микро-ОСи и задумался об эдаких механизмах

Alex Фэils?︙
19.10.2016
06:25:46

Egor
19.10.2016
06:26:53

Google

Alex Фэils?︙
19.10.2016
06:26:55
Ты можешь сделать свое апи в твоей микрооси, которое включит этот сборщик мусора, но при разработке софта надо будет учитывать этот факт

Ned Ogl
19.10.2016
06:28:08

Egor
19.10.2016
06:28:43
Кстати, почему парятся людие о засранной памяти, delete, итд, если система отлавливает эти ситуации и при завершении программы попросту помещает страницы в список свободных?
не хочешь париться о засранной памяти - не используй си и плюсы, используй яву, питон или шарп, где есть сборщик. А есть ещё эмбедед направление, там не только о засранной памяти парятся, там даже о выделении памяти в процессе работы парятся, ибо в идеале и этого не должно быть.

Ned Ogl
19.10.2016
06:29:22
Да, есть резон
В твоих речах

Alex Фэils?︙
19.10.2016
06:32:20

Nikolay
19.10.2016
07:16:03
https://youtu.be/JfmTagWcqoE

Egor
19.10.2016
07:18:46

Nikolay
19.10.2016
07:19:47
Ну да, но смысл то тот же - удаление объектов когда они уже не используются

Artem
19.10.2016
07:19:54
А ты хочешь, чтобы тебе рантайм ссылки считал, а не на уровне языка?

Google

Nikolay
19.10.2016
07:20:19
Только сборщик возвращает память как я понимаю, а тут деструкторы вызываются

Artem
19.10.2016
07:20:22
смысл любого gc тот же

Egor
19.10.2016
07:22:24
смысл сборщика в его отложенном вызове. наступает какой-то период и весь "мусор" с нулевыми ссылками удаляется скопом, а стратегия модерн плюс - удаление ровно в момент обнуления ссылки.
более точно управление временем жизни, меньше вопросов по освобождению памяти и всё такое.
это как бы не сборщик в том понимании, какое есть в яве или шарпе, это именно управление временем жизни объекта.

Artem
19.10.2016
07:24:13
но не такое управление жизнью объекта, как в расте!

Egor
19.10.2016
07:25:01
не знаком с растом, не могу сравнить :)

Artem
19.10.2016
07:25:16
https://doc.rust-lang.org/beta/book/lifetimes.html
(может показаться, что пунктуации в языке немного больше, чем нужно, да, это так)

Egor
19.10.2016
07:30:58

Artem
19.10.2016
07:45:08
Нет. Раст просто умеет на этапе компиляции понимать больше, чем c++. То, что в С++ упадет в рантайме (давайте передадим овнершип unique_ptr куда-нибудь и потом вызовем еще раз), в расте не скомпилируется

Egor
19.10.2016
08:09:04

Aldar
19.10.2016
08:09:45
через лет 5 раст будет норм

Artem
19.10.2016
08:10:10
Если правильно писать, то и с сырыми не упадет, вопрос в количестве способов выстрелить в ногу

Egor
19.10.2016
08:10:37

Artem
19.10.2016
08:11:10
Выстрелить в ногу? Возможно конечно

Egor
19.10.2016
08:13:04
я тут питон не могу доучить до нужной кондиции, а ещё и раст рекламируют...блин, где бы свободного времени взять чтоб всё новое учить и быть в потоке

Artem
19.10.2016
08:15:01
Раст пока что для энтузиастов

dmks
19.10.2016
08:16:02
Информацию фильтровать же надо, ну. Если учить все то можно слегка поехать

Artem
19.10.2016
08:16:15
Питон учить практичнее

Google

Artem
19.10.2016
08:16:21
Да и проще

Александр
19.10.2016
08:17:08

Egor
19.10.2016
08:17:15
Да и проще
ой ли, я прифигел от отрицатьльных индексов списков...вот кто такое выдумал, и нафига?

Artem
19.10.2016
08:17:29
Очень удобно

Egor
19.10.2016
08:18:00

Artem
19.10.2016
08:18:09
Обычно это либо -1, либо слайс, описывающий суффикс
Типа, x[-3:]

Aldar
19.10.2016
08:20:28
питон же простой

Artem
19.10.2016
08:20:45
Вот да

Aldar
19.10.2016
08:20:58
мне как то надо было писать на нем, прочитал туториал и вперед) правда были скрипты простенькие

Egor
19.10.2016
08:21:08
Типа, x[-3:]
вопрос не в этом, а в том, зачем так? почему не обычной практикой от нуля в плюс.
почему вообще понадобились отрицательные индексы

Artem
19.10.2016
08:21:45
Не очень простое только всякое метапрограммирование и асинхронность на корутинах, тут надо понять вначале
Меньше кода - лучше читаемость

Egor
19.10.2016
08:23:16
больше бекграунда для трансляции - ниже скорость, не?

Artem
19.10.2016
08:23:24
Пфф

Admin
ERROR: S client not available

Artem
19.10.2016
08:23:42
Скорость чего?

Egor
19.10.2016
08:24:42
выполнения кода.
в плюсах, в определённых ситуациях даже for( int i... может быть медленее чем for( size_t i... при прочих равных.

Google

Egor
19.10.2016
08:25:41
для инта потребуется вставка кода проверки диапазона отрицательных значений, сайз_ти - не требует.
так себе пример, но всё же

Artem
19.10.2016
08:25:50
Отрицательные индексы превращаются в положительные одним преобразованием на уровне аст, это вообще ни на что не влияет
Но
В питоне не занимаются такой оптимизацией, о которой ты говоришь
Почти всегда тормоза вызываются I/O, базой, сетью
А супер оптимизированные горячие куски кода либо пишутся расширениями на си(++)
Либо если уж хочешь питон, то выполняются в PyPy
А там JIT сам тебе все оптимизирует лучше, чем ты руками
Если твой код не кривой на уровне алгоритма

Egor
19.10.2016
08:31:17
у меня видимо сильная проф.деформация на фоне плюсов )))
ладно, расслаблюсь и буду читать дальше ?

Artem
19.10.2016
08:31:35
Да, все именно так)

Aldar
19.10.2016
08:35:01
хехе, питон это не про скорость выполнения

Nikolay
19.10.2016
08:43:45
Скорее про скорость написания )

TheRainwildsKeeper
19.10.2016
08:45:07

Egor
19.10.2016
08:57:00

Aldar
19.10.2016
09:00:17
а другой скриптовый язык знаешь?

Egor
19.10.2016
09:02:06

Andrey
19.10.2016
09:02:37
нафлудили-то )

$continue$
20.10.2016
08:53:19
Что делает enable_if?
В документации нихуя не понятно :(

Anatoly
20.10.2016
09:09:26
имхо, это в супапро.схх

Google

Andrey
20.10.2016
09:12:09

Vladimir
20.10.2016
09:30:26

Alex Фэils?︙
20.10.2016
09:33:37

Vladimir
20.10.2016
09:33:46
Можно использовать как аргумент по-умолчанию в шаблоне, если нужно ограничить диапазон типов, с которыми оный шаблон можно использовать. Примерно так
template <typename T, typename = typename std::enable_if(std::is_assignable<T, std::string>>