HLFX.Ru Forum Страницы (41): « Первая ... « 35 36 37 38 [39] 40 41 »
Показать все 608 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- PrimeXT - логическое продолжение XashXT (https://hlfx.ru/forum/showthread.php?threadid=5371)


Отправлено XaeroX 20-02-2025 в 08:02:

Цитата:
Дядя Миша писал:
Так лямбды же можно объявлять только внутри функций ЕМНИП

Для них есть обвёртка - std::function.

__________________

xaerox on Vivino


Отправлено Дядя Миша 20-02-2025 в 08:29:

Цитата:
XaeroX писал:
Для них есть обвёртка - std::function.

Я вот подумал, может уже наконец признать, что STL это самостоятельный язык, не имеющий к крестам вообще никакого отношения?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено SNMetamorph 20-02-2025 в 10:02:

Цитата:
Дядя Миша писал:
Я вот подумал, может уже наконец признать, что STL это самостоятельный язык, не имеющий к крестам вообще никакого отношения?

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

__________________
Мой сайт
Xash3D Modding Discord


Отправлено Дядя Миша 20-02-2025 в 13:56:

Цитата:
SNMetamorph писал:
что становится всё меньше смысла использовать что-то самописное, потому что в таком случае весь груз имплементации и тестирования всего этого ложится на плечи самого разработчика

А бедный разработчик так боится перетрудится, что его скоро заменят ИИ, который и будет сам использовать STL, вместо разработчика. Всё закономерно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено SNMetamorph 20-02-2025 в 16:08:

Цитата:
Дядя Миша писал:
А бедный разработчик так боится перетрудится, что его скоро заменят ИИ, который и будет сам использовать STL, вместо разработчика. Всё закономерно.

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

__________________
Мой сайт
Xash3D Modding Discord


Отправлено XaeroX 20-02-2025 в 16:29:

Цитата:
SNMetamorph писал:
единственный кейс где можно легко обойти STL по крайней мере по перформансу

А что, std::variant уже починили? std::function ускорили? А может, std::thread'у наконец-то сделали возможность отложенного запуска и принудительной остановки?
Цитата:
SNMetamorph писал:
в которых никаких гарантий (касательно исключений или инвалидации итераторов) соблюдать не требуется.

В STL тоже не требуется, _HAS_EXCEPTIONS 0 и вперёд.

__________________

xaerox on Vivino


Отправлено Unit 20-02-2025 в 17:34:

Цитата:
XaeroX писал:
std::function

Он сильно медленный? Никогда его не тестировал


Отправлено Дядя Миша 21-02-2025 в 06:16:

Цитата:
SNMetamorph писал:
А STL это как раз и есть кем только не затестированная донельзя база кода, которая бОльшую часть рутинных подзадач в программировании покрывает.

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Unit 21-02-2025 в 07:10:

Цитата:
Дядя Миша писал:
Но в играх STL по прежнему никто не использует.
А если используют - пусть потом не удивляются.

CryEngine например весь пронизан stl.


Отправлено FiEctro 21-02-2025 в 09:10:

Цитата:
Дядя Миша писал:
Ты ещё не достиг такого уровня просветления, когда собственному коду доверяешь больше чем чужому. Потому что чужой код писался не под твои задачи. Он писался под общее множество задач, пытается быть хорошим и вашим и нашим.


Не всегда велосипеды работают лучше и быстрее чужих библиотек. Если бы всё так было бы просто, эти библиотеки никто не писал бы. Но вообще stl выглядит как попытка сделать из C++ что то удобное.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 21-02-2025 в 10:12:

Цитата:
Unit писал:
CryEngine например весь пронизан stl.

Там в подавляющем большинстве случаев либо vector либо map.

Цитата:
FiEctro писал:
Не всегда велосипеды работают лучше и быстрее чужих библиотек

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 21-02-2025 в 11:44:

Дядя Миша
И как часто у тебя возникает такая ситуация?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено SNMetamorph 21-02-2025 в 11:56:

Цитата:
XaeroX писал:
В STL тоже не требуется, _HAS_EXCEPTIONS 0 и вперёд.

Это никак не меняет поведение самих контейнеров, unordered_map всё ещё будет в баккетах хранить линкед-листы с элементами. Если бы не требовалось гарантии что при добавлении элементов в мапу указатели/ссылки на существующие элементы не будут инвалидированы, можно было бы мапу сделать гораздо более cache-friendly. Что в общем-то как раз и можно сделать в собственной реализации и ощутимо обогнать std::unordered_map по перфу под большими нагрузками.

Добавлено 21-02-2025 в 15:51:

Цитата:
Unit писал:
Он сильно медленный? Никогда его не тестировал

Я сам не понял, что имелось ввиду, но судя по всему речь про скорость компиляции шла.

Добавлено 21-02-2025 в 15:56:

Цитата:
XaeroX писал:
А что, std::variant уже починили? std::function ускорили? А может, std::thread'у наконец-то сделали возможность отложенного запуска и принудительной остановки?

Про какую конкретно реализацию STL идёт речь? Под линуксом их несколько разных, у MSVC тоже своя.

__________________
Мой сайт
Xash3D Modding Discord


Отправлено XaeroX 21-02-2025 в 14:03:

Цитата:
SNMetamorph писал:
речь про скорость компиляции шла.

Про скорость исполнения. Std::function не просто compile time обвёртка над лямбдой.
Цитата:
SNMetamorph писал:
Про какую конкретно реализацию STL идёт речь?

Та про любую. Это же std - то есть некий стандарт.

Добавлено 21-02-2025 в 09:03:

Цитата:
SNMetamorph писал:
Что в общем-то как раз и можно сделать в собственной реализации и ощутимо обогнать std::unordered_map по перфу под большими нагрузками.

А можно, пожалуйста, пример такой реализации? Не совсем понял, о чём тут речь.

__________________

xaerox on Vivino


Отправлено Дядя Миша 21-02-2025 в 14:45:

Цитата:
FiEctro писал:
И как часто у тебя возникает такая ситуация?

Так я практически не использую STL, как она возникнет.

Цитата:
SNMetamorph писал:
Под линуксом их несколько разных, у MSVC тоже своя.

Зашибись, то есть мы ещё на разных платформах можем столкнуться с разным поведением?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Временная зона GMT. Текущее время 21:39. Страницы (41): « Первая ... « 35 36 37 38 [39] 40 41 »
Показать все 608 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024