Интересное о технологиях

Говорим о чем угодно
Аватара пользователя
Vasaka
MOSC Team
Сообщения: 3195
Регистрация: 24 янв 2011

Интересное о технологиях

Сообщение Vasaka »

Ну не просто же так не воспользовалось. У всего есть причина.
Конечно есть. Человечество почти утратило тягу к открытию чего-то нового, неизведанного. Все силы ушли на зарабатывание денег.
Всё что в своей основе имеет ислючительно научную цель и в дальнейшем не принесёт прибыли - нафиг. Делаем только то, что набьёт наши карманы.

А то есть ты склоняешься к моей теории гибридизации?
Оператива быстрая DRAM + Оператива медленная Xpoint + жёсткий диск?
1). Представь ты разработчик Ведьмака 5, пишешь игру, она требует DRAM памяти.
Пользователь запускает твою игру и у него всё тормозит. Почему? Потому что DRAM переполнилась, и игра залезла в медленную Xpoint.
Тебе придётся писать в системных требованиях:
НЕ менее ХГб оперативной памяти DRAM.
2).Допустим ты делаешь игру у которой не возможно чётко определить границу "НЕ менее" (много объектов рождающихся в процессе игры). Тогда игра может начать тормозить неожиданно. А если это не игра? А если это программа? Важная?
Таким образом повышается зависимость работы программы\игры от конфигурации железа, а эта связь и так сильная.
Зачем тратить деньги на медленную, пусть и большую память, если можно поставить на её место быструю.
Все гибриды страдают структурно, это усложнение. От этого разработчикам железа возможно придётся урезать некоторые функции и оптимизации которые могли бы быть на месте гибридизации.
Объясню ещё раз.
Тут выше речь шла о фотошопе. Возьмём его за пример приложения (любого другого).
У разработчиков есть чёткое представление о том, что для нормальной работы этого приложения (программы, игры) нужно много оперативки. Больше чем есть у потребителя продукта. Встаёт выбор:
1. Использовать место на диске, файл подкачки, который будет ОЧЕНЬ медленный. Приложение будет еле шевелиться. ИЛИ
2. Урезать возможности программы.

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

Увеличение скорости работы жёсткого диска по сравнения с SSD на два порядка откроет ещё больше возможностей для разработчиков. Что тут непонятного?

Потому что ты утверждаешь что это так. Ты веришь в это, но не знаешь этого. Ты часто так делаешь.
Вот из описанных выше соображений я и утверждаю, что это так. А если тебя интересуют конкретные детали, тебе придётся раскапывать их самому.
Расскажи нам потом, если что-то интересное найдёшь по этому вопросу. Я точно с удовольствием послушаю.

Именно, если бы DRAM стоила 10р./1Гб компы бы уже давно обросли бешеными объёмами оперативы.
Ещё чуть чуть и SSD будут нормой и тогда в играх мы можем увидеть новое системное требование - SSD
Речь была о том, что становится доступным и входит в каждый дом. Что толку, что ты сделаешь игру с системными требованиями к оперативке 1 тб? Кто в неё играть будет?

Все эти детали тебе придётся пропустить через центральный процессор... Ты понимаешь что он просто не успеет просчитывать всё то множество объектов о которых ты говоришь. Это как книга, ты можешь написать толстенную книгу, но читать ты будешь примерно 200 слов в минуту. Я говорю, говорю, а ты не понимаешь, что не в объёме оперативы счастье. Да будь у тебя овер9999Тб оперативы, кто всё это будет обрабатывать если всё это будет сразу везде участвовать и взаимодействовать? Количество и живость твоих ботов будет ограничена не памятью, а производительностью. Вот это действительно ограничение для разработчиков - вычислительная мощность.
Нет, конечно большая память поможет в какой-то степени (для составления "таблиц предсказания" например) и отразиться на производительности за счёт оптимизации алгоритмов, но не так сильно и после перехода некоторого порога объёма, дальнейшее добавление памяти никак не повлияет.
А так только загрузка\выгрузка файлов с жёсткого диска уйдёт.
Не всегда есть необходимость обсчитывать все объекты. Не всегда нужна необходимасть обсчитывать объекты полность. Не всегда нужна необходимость обсчитывать объекты по максимально правильной формуле. Многие объекты можно обсчитывать по упрощённой формуле, а многие по очень упрощённой. Например если объекты далеко от игрока, вне зоны его активности.

Э? Я имел в виду что int и double типы по умолчанию для компилятора C#.
По умоланию - не значит единственные. Программисту приходится сталкиваться с другими типами и осуществлять приведение. Я говорил о том, чтобы отбросит всякое приведение типов. Есть число и всё.

Компьютер так тоже умеет, ты можешь сам на C# написать такую обёртку которая будет отображать твоё "число" динамической разрядности.
От этого в языке не исчезнут остальные типы и не отпадёт необходимость приведения типов.

Но есть одно но... Человеку как и компьютеру трудно оперировать многоразрядными числами - падает производительность, а физически АЛУ не сделать "динамически разрядным". Таким образом твоё "число" не будет существовать на низком уровне. А на высоком уже давно есть.
А я бы не отказался от такого языка программирования. Всё что я делал до этого вообще не пострадает. Выполняется операция за 1 миллисекунду или за 2 мне без разницы. Зато удобство разработки повышается.
Да и насколько я вижу 90% всех остальных приложений тоже не критичны к производительности.

Ты как пророк какой-то) Вещаешь, и сам в это веришь. Чем докажешь?
Ну конечно! :D Сейчас брошу всё и буду доказывать. :mosking:
Почитай историю развития языков программирования. Как мы докатились до выкокоуровневых языков программирования. А сейчас мы уже имеем все предпосылки для создания сверхвысокоуровневых языков.
Где будет один динамический числовой тип данных.
Где объекты можно будет скопировать так же легко как присвоить объект новой ссылке и не заморачиваться интерфейсами клонирования. Написал например x =+= y; и получил копию объекта, а не присвоил объекту ещё одну ссылку.
и т.д.

А то есть ты склоняешься к моей теории гибридизации?
Оператива быстрая DRAM + Оператива медленная Xpoint + жёсткий диск?
Нет. Пока оперативка + xpoin в виде жёсткого диска. Потом универсальная память заменяющая и то и другое.

1). Представь ты разработчик Ведьмака 5, пишешь игру, она требует DRAM памяти.
Пользователь запускает твою игру и у него всё тормозит. Почему? Потому что DRAM переполнилась, и игра залезла в медленную Xpoint.
Тебе придётся писать в системных требованиях:
НЕ менее ХГб оперативной памяти DRAM.
Значит в этом случае разработчики ведьмака плохо сделали свою работу. xpoint надо было использовать для тех процессов, которые не чувствительны по скорости. Высвобождая тем самым больше оперативки и позволяя реализовать больше моментов, которые к скорости чувствительны.

2).Допустим ты делаешь игру у которой не возможно чётко определить границу "НЕ менее" (много объектов рождающихся в процессе игры). Тогда игра может начать тормозить неожиданно. А если это не игра? А если это программа? Важная?
Таким образом повышается зависимость работы программы\игры от конфигурации железа, а эта связь и так сильная.
Зачем тратить деньги на медленную, пусть и большую память, если можно поставить на её место быструю.
Нет, ты хорошо сказал. Я с тобой согласен. Только маленький вопрос. Ты со своей игрой будешь впридачу в подарок оперативку игрокам выдавать? Если нет, тогда тебе придётся ориентироваться на тот объём оперативки, который есть у конечного пользователя, в случае игры у массового потребителя.
И вот тут, если ты захочешь реализовать чуть больше и сделать чуть интереснее, ты сможешь ряд медленных процессов "привязать" к xpoint, а быстрые будут использовать оперативку.

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

Ну да, Xpoint замечательно заменит SSD если сможет с ним конкурировать. Но не оперативу, так как с ей он сейчас не конкурент.
Выше всё написал.

Во, это уже лучше!
Энергонезависимая - отлично!
Говорят, дешёвая - супер!
Скорость, говорят, соизмерима с оперативой - благодать!
Правда минус всё таки есть - циклы записи... маловато. Оператива - это такое место... как трущаяся деталь, там ведь постоянно что-то пишется\стирается, миллионов может оказаться мало.
Так что скорее всего это не "оно", скорее всё таки пойдёт в нишу SSD за\перед xpoint-ом.
Ты посчитал уже срок службы такой памяти в качестве оперативки?
Аватара пользователя
Malin
Сообщения: 2287
Регистрация: 28 май 2023

Интересное о технологиях

Сообщение Malin »

Тут выше речь шла о фотошопе. Возьмём его за пример приложения (любого другого).
У разработчиков есть чёткое представление о том, что для нормальной работы этого приложения (программы, игры) нужно много оперативки. Больше чем есть у потребителя продукта. Встаёт выбор:
1. Использовать место на диске, файл подкачки, который будет ОЧЕНЬ медленный. Приложение будет еле шевелиться. ИЛИ
2. Урезать возможности программы.

Касательно фотошопа ты не прав. Adobe не урезает возможности программы, она заявляет что ей нужно для собственного развёртывание сколько то мизерного пространства в оперативе, всё остальное (что забивает её и файл подкачки) - это данные пользователя (файлы с которыми он работает). Разработчики не ограничивают себя, программе надо 10Гб - она их возьмёт, нет в оперативе - возьмёт в подкачке.
Не всегда есть необходимость обсчитывать все объекты. Не всегда нужна необходимасть обсчитывать объекты полность. Не всегда нужна необходимость обсчитывать объекты по максимально правильной формуле. Многие объекты можно обсчитывать по упрощённой формуле, а многие по очень упрощённой. Например если объекты далеко от игрока, вне зоны его активности.

Ты понимаешь что ты увиливаешь?)
А я бы не отказался от такого языка программирования. Всё что я делал до этого вообще не пострадает. Выполняется операция за 1 миллисекунду или за 2 мне без разницы. Зато удобство разработки повышается.
Да и насколько я вижу 90% всех остальных приложений тоже не критичны к производительности.

Ты слеп.

Почитай историю развития языков программирования. Как мы докатились до выкокоуровневых языков программирования. А сейчас мы уже имеем все предпосылки для создания сверхвысокоуровневых языков.
Где будет один динамический числовой тип данных.

Сверхвысокоуровневым языком будет ИИ, которому мы скажем что надо делать, а он сделает. Сам приведёт типы, оптимизирует код.
Где объекты можно будет скопировать так же легко как присвоить объект новой ссылке и не заморачиваться интерфейсами клонирования. Написал например x =+= y; и получил копию объекта, а не присвоил объекту ещё одну ссылку.
и т.д.

Можно просто копировать область данных (все байты занимаемые объектом в памяти)

Значит в этом случае разработчики ведьмака плохо сделали свою работу. xpoint надо было использовать для тех процессов, которые не чувствительны по скорости. Высвобождая тем самым больше оперативки и позволяя реализовать больше моментов, которые к скорости чувствительны.

Э-э-э...кто-то сейчас говорил что ему не важно сколько будет исполняться его код)
Опять виляешь.
ряд медленных процессов "привязать" к xpoint, а быстрые будут использовать оперативку.

Приведёшь пример? Или как всегда?
А это уже разработчикам программ надо будет решить, хотят они заморочиться с усложнением программы ради увеличения функционала. Но возможность то есть. О возможностях я и говорил.

Я имел в виду железо. Инженерная задача. И она сильно лимитирована.
Ты посчитал уже срок службы такой памяти в качестве оперативки?

11 дней если ты будешь переписывать её полностью каждую секунду.
Количество циклов - не строгое число, это "шанс" отказа.
Память не пишется равномерно, одни её части используются чаще других - они первыми выйдут из строя.
Аватара пользователя
Vasaka
MOSC Team
Сообщения: 3195
Регистрация: 24 янв 2011

Интересное о технологиях

Сообщение Vasaka »

Можно просто копировать область данных (все байты занимаемые объектом в памяти)
Как это в C# делается?

Э-э-э...кто-то сейчас говорил что ему не важно сколько будет исполняться его код)
Опять виляешь.
Это у тебя зарядка такая издеваться над Васякой? :D
1. Я говорил для себя. Я могу терпеть медленные процессы, для меня это не критично.
2. Но если я разрабатываю программу для других, то понимаю, что я относительно уникален в своей терпеливости и люди столько ждать не будут.
3. И для большинства программ это замедление о котором можно говорить не будет видно невооружённому глазу.

Приведёшь пример? Или как всегда?
Я в прошлом посте детально описал как это должно работать.

Касательно фотошопа ты не прав. Adobe не урезает возможности программы, она заявляет что ей нужно для собственного развёртывание сколько то мизерного пространства в оперативе, всё остальное (что забивает её и файл подкачки) - это данные пользователя (файлы с которыми он работает). Разработчики не ограничивают себя, программе надо 10Гб - она их возьмёт, нет в оперативе - возьмёт в подкачке.

Замечательно. Работа с пользовательскими данными становится удобней? Мы можем позволить себе меньше ждать и большие объёмы обрабатывать?
Вот об этом и шла речь. Возможности программы увеличились за счсёт того, что файл подкачки стал быстрым.

Ты понимаешь что ты увиливаешь?)
Ничего подобного. Я просто тебе объясняю что я имел ввиду, когда говорил о больших открывающихся возможностях. Если изначально не так понял, то это твоя ошибка. Ну так изволь, я говорил именно об этом.

Сверхвысокоуровневым языком будет ИИ, которому мы скажем что надо делать, а он сделает. Сам приведёт типы, оптимизирует код.
Это будет ещё более высокоуровневый язык, чем тот о котором я говорил. Наверное со временем и такие появятся.

Я имел в виду железо. Инженерная задача. И она сильно лимитирована.
С появлением новой быстрой памяти открываются новые возможности и в разработке приложений и в области архитектуры компьютеров.

11 дней если ты будешь переписывать её полностью каждую секунду.
Количество циклов - не строгое число, это "шанс" отказа.
Память не пишется равномерно, одни её части используются чаще других - они первыми выйдут из строя.
В статье написано, что эта память выдерживает на порядок больше циклов перезаписи чем SSD.
Ты хочешь сказать, что люди выкидывают SSD после дня работы?

Разница с оперативной памятью очень большая. Она подвергается постоянной перезаписи из за маленького объёма. Одно удаляем, другое загружаем.
При большом объёме, когда жёсткий диск и есть память, ничего никуда загружать не надо и перезаписывать в таких количествах.
Аватара пользователя
Vasaka
MOSC Team
Сообщения: 3195
Регистрация: 24 янв 2011

Интересное о технологиях

Сообщение Vasaka »

Вообще, у меня складывается впечатление, что ты за деревьями леса не видишь.
Оффтоп
Аватара пользователя
Malin
Сообщения: 2287
Регистрация: 28 май 2023

Интересное о технологиях

Сообщение Malin »

Как это в C# делается?

Сериализация\десериализация
Замечательно. Работа с пользовательскими данными становится удобней? Мы можем позволить себе меньше ждать и большие объёмы обрабатывать?
Вот об этом и шла речь. Возможности программы увеличились за счсёт того, что файл подкачки стал быстрым.

Нет, нет, нет. Ты говорил о возможностях не программы, а разработчиков которые должны эти возможности урезать! А возможности самой программы всегда жёстко зависят, зависели, и будут зависеть от железа.
Если изначально не так понял, то это твоя ошибка. Ну так изволь, я говорил именно об этом.

В этом весь ты)
В статье написано, что эта память выдерживает на порядок больше циклов перезаписи чем SSD.
Ты хочешь сказать, что люди выкидывают SSD после дня работы?

SSD не используется как оператива.
Разница с оперативной памятью очень большая. Она подвергается постоянной перезаписи из за маленького объёма. Одно удаляем, другое загружаем.
При большом объёме, когда жёсткий диск и есть память, ничего никуда загружать не надо и перезаписывать в таких количествах.

Только если оператива станет энергонезависимой - да. В противном случае нет.
Вообще, у меня складывается впечатление, что ты за деревьями леса не видишь.

Ты прям мои мысли читаешь, я в точности это же думаю о тебе) Ты смотришь поверхностно и не смотришь в глубь.
Аватара пользователя
Vasaka
MOSC Team
Сообщения: 3195
Регистрация: 24 янв 2011

Интересное о технологиях

Сообщение Vasaka »

Сериализация\десериализация
Это должно быть элементарным присвоением "=" как в случае значимых типов. Всё элементарно должно быть.
А для присвоения ссылок уже должен быть другой оператор, чтобы не ломалась логика языка.

Нет, нет, нет. Ты говорил о возможностях не программы, а разработчиков которые должны эти возможности урезать! А возможности самой программы всегда жёстко зависят, зависели, и будут зависеть от железа.
Ну так если у нас меняется железо. Жёсткие диски становятся такими же быстрыми как оперативка. Разве возможности программы не станут другими? Разве нельзя писать новые программы учитывая это новое железо?
Что я не так сказал?

В этом весь ты)

--- Я сформулировал мысль.
--- Ты её не понял.
--- После долгих-долгих объяснений ты понял о чём я хотел сказать, но в этом весь я? :D
Логично. :lol:

SSD не используется как оператива.
Естественно по дугому используется. На них нет необходимости постоянно записывать и перезаписывать, потом терять данные при выключении и снова записывать и перезаписывать многократно.
Данные лежат себе там где надо и процессор работает с ними так же быстро как с оперативной. Там пропадает необходимость в таком количестве циклов перезаписи.

Только если оператива станет энергонезависимой - да. В противном случае нет.
Ну так значит я прав?
Речь то как раз идёт о xpoint и ещё новой памяти на которую я скидывал ссылку, а они обе энергонезависимые.

Ты прям мои мысли читаешь, я в точности это же думаю о тебе) Ты смотришь поверхностно и не смотришь в глубь.
А ты так роешь в глубину, что не видишь общей картины. Видя общую картину я знаю, что откроются новые интересные возможности. Примерно обрисовал с чем это связано, но ты хочешь большей конкретики? А большая конкретика появится, когда эти возможности начнут воплощать в конкретные технологии.
Аватара пользователя
Snake_B
MOSC Team
Сообщения: 333
Регистрация: 25 янв 2011

Интересное о технологиях

Сообщение Snake_B »

Vasaka писал(а): ↑03 июн 2016, 18:07Есть такой сегмент игр, где не нужно быстродействие, но нужен большой объём памяти. Далеко ходить не будем, это глобальные пошаговые стратегии.


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

Vasaka писал(а): ↑03 июн 2016, 18:07Так что очень быстрый файл подкачки, или целые миры для игры не в оператике, а на диске, это становится реальностью.


ну, что в вашем понимании открытые миры? те же тайлы/гексы.. не будешь же ты туда каждую травинку заносить..

Vasaka писал(а): ↑03 июн 2016, 18:42Да ё-моё. Бери любую игру. Любую! Смотри требование к оперативке. 2, 4, 8... гб.
Это оттого что геймдизайнер включил в игру всё то что хотел? Да нет, конечно. Это оттого, что мы имеем ограничение в наших компьютерах в 2, 4, 8... гб.


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

Vasaka писал(а):Почитай историю развития языков программирования. Как мы докатились до выкокоуровневых языков программирования. А сейчас мы уже имеем все предпосылки для создания сверхвысокоуровневых языков.
Где будет один динамический числовой тип данных.


зря ты на это надеешься, учи давай то что есть :razz2:
Изображение
Аватара пользователя
Vasaka
MOSC Team
Сообщения: 3195
Регистрация: 24 янв 2011

Интересное о технологиях

Сообщение Vasaka »

зря ты на это надеешься, учи давай то что есть
Я не надеюсь, я знаю что так оно и будет. Но так как игру хочется делать уже сейчас, то и учу сейчас лучшее из того что есть.
Ну а по поводу всего остального, примеры приведённые мной могут быть и не очень удачными, вот только факта того, что это открывает большие возможности не отменяет.
Требования по оперативке уйдут в прошлое, а разработчики игр и программ будут пихать в них всё что захочется без оглядки на то, сколько есть оперативки у конечного пользователя.
Аватара пользователя
Malin
Сообщения: 2287
Регистрация: 28 май 2023

Интересное о технологиях

Сообщение Malin »

Это должно быть элементарным присвоением "=" как в случае значимых типов. Всё элементарно должно быть.
А для присвоения ссылок уже должен быть другой оператор, чтобы не ломалась логика языка.

Это вопрос компилятора. Сейчас можно завернуть в функцию. А вообще тебе надо на Uservoice. Там и выдвинешь рацпредложение и проголосуешь за другие.
Ну так если у нас меняется железо. Жёсткие диски становятся такими же быстрыми как оперативка. Разве возможности программы не станут другими? Разве нельзя писать новые программы учитывая это новое железо?
Что я не так сказал?

Можно. Ты всё правильно сказал и я с тобой согласился по этому поводу.
--- Я сформулировал мысль.
--- Ты её не понял.
--- После долгих-долгих объяснений ты понял о чём я хотел сказать, но в этом весь я?
Логично.

А потом на оборот.
Я сформулировал - ты не понял - долгие объяснения :lol:
Данные лежат себе там где надо и процессор работает с ними так же быстро как с оперативной. Там пропадает необходимость в таком количестве циклов перезаписи.

Эм. Допустим у тебя есть переменная int i, которой нужно в цикле пробежаться от 0 до миллиарда. Цикл кончился, и у тебя 4 миллиона байт (int = 4 байта) (читай 4 Мб) вышедших из строя. Не хило так. И это только итератор. А ведь внутри цикла у тебя полно других переменных, которые нужны только в теле цикла и будут миллиард раз перезаписаны.
Ну так значит я прав?
Речь то как раз идёт о xpoint и ещё новой памяти на которую я скидывал ссылку, а они обе энергонезависимые.

Почти. У последней лимитирующий показатель - циклы записи\перезаписи. Оператива очень часто переписывается. И не только из-за загрузки файлов.
А ты так роешь в глубину, что не видишь общей картины. Видя общую картину я знаю, что откроются новые интересные возможности. Примерно обрисовал с чем это связано, но ты хочешь большей конкретики? А большая конкретика появится, когда эти возможности начнут воплощать в конкретные технологии.

А я ему ответ нарисую! (с)
Картина Художник и знаток (П. Брейгель)
Изображение
Аватара пользователя
Vasaka
MOSC Team
Сообщения: 3195
Регистрация: 24 янв 2011

Интересное о технологиях

Сообщение Vasaka »

Это вопрос компилятора.
Само собой.

Сейчас можно завернуть в функцию.
Почти всё что угодно можно завернуть в функцию, это понятно. Я говорил о языке который не позволит это сделать самому методом костыля, а о языке в котором это будет реализовано сразу и главное логично.
В данном случае (C#) один и тот же оператор в случае значимых типов копирует значение переменной в другую переменную, а в случае ссылочных типов НЕ копирует значения, а связывает с ещё одной ссылкой уже созданный объект.
Это пример того как не надо делать интерфейсы. Один и тот же оператор должен выполнять одно и то же. А для других возможностей (в данном случае связывание с другой ссылкой) нужен другой оператор.
Думаю тут проблема в том, что языки программирования делают программисты, а не инженеры и дизайнеры.

Эм. Допустим у тебя есть переменная int i, которой нужно в цикле пробежаться от 0 до миллиарда. Цикл кончился, и у тебя 4 миллиона байт (int = 4 байта) (читай 4 Мб) вышедших из строя. Не хило так. И это только итератор. А ведь внутри цикла у тебя полно других переменных, которые нужны только в теле цикла и будут миллиард раз перезаписаны.
Вероятно кэши процов станут пообъёмнее. Может ещё что-то. Какие-то программные технологии и усовершенствования языков в этом плане. Не знаю.
Ответить