Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

Rooster

Программирование[11]

var  

286 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Рекомендованные сообщения

Vova написал 51 минуту назад:

Думаю это кажется совсем неочевидным что использование базовой фичи виртуальные функции может быть bottleneck'ом но тем не менее

Действительно, это неочевидно, что можно написать говнокод, где это боттлнек, но тем не менее.

Поделиться сообщением


Ссылка на сообщение
Tia написал 1 час назад:

и как же охуенно на нормальном языке прогать

это ты про раст? лул

 


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

Как скажешь

 

Вы игнорируете сообщения thousand cursed enemies. Настройки 


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение
Just.Doit написал 10 часов назад:
Tia написал 11 часов назад:

и как же охуенно на нормальном языке прогать

это ты про раст? лул

 

ну да, не про джс же

Поделиться сообщением


Ссылка на сообщение
Tia написал 1 час назад:
Just.Doit написал 12 часов назад:
Tia написал 13 часов назад:

и как же охуенно на нормальном языке прогать

это ты про раст? лул

 

ну да, не про джс же

тебя хорошая система типов так впечатлила?

или ФПшные штуки типа рекордов и ошибки через резалт тайп?


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение
Vova написал 13 часов назад:
GoldRobot написал 13 часов назад:
Vova написал 14 часов назад:

Видимо я отстал от жизни

Какая проблема у ranges?

Оверхед большой. И оптимизацию ломает очень сильно.

 

В чем блять оверхуед

 

Ranged это пойнтер + размер или я что-то не понимаю?

 

https://en.cppreference.com/w/cpp/ranges

Там эти ренжи реализованы через какие-то ебанутые многослойные абстракции. По крайней мере в ranges-v3, clang вроде вообще через жопы ренжи поддерживает, про gcc хз. Короче там реально есть оверхед.

Но это важно только в каких-нибудь совсем перф зависимых программах/сервисах. У нас, например, ренжи юзаются и норм, в think cell тоже (хотя это мб мем компания).

Ренжи удобно читать это кайф

Vova понравилось это

 

9Aa4jVY.jpeg

IFVau8G.png

AohP0ps.png

Поделиться сообщением


Ссылка на сообщение
Just.Doit написал 3 часа назад:
Tia написал 4 часа назад:
Just.Doit написал 15 часов назад:
Tia написал 16 часов назад:

и как же охуенно на нормальном языке прогать

это ты про раст? лул

 

ну да, не про джс же

тебя хорошая система типов так впечатлила?

или ФПшные штуки типа рекордов и ошибки через резалт тайп?

да много чего - монады result/option, паттерн матчинг и его возможности, юзер-френдли компилятор, нормальные енамы
даже тот факт что сам язык довольно вербозный, после написания кода (если не юзать unsafe и unwrap-ы), и код компилируется -  как будто бы складывается уверенность, что это будет работать без ошибок

Поделиться сообщением


Ссылка на сообщение
Tia написал 6 минут назад:

как будто бы складывается уверенность, что это будет работать без ошибок

это как раз заслуга хорошей системы типов 
+ того что стд и либы написаны так что используют эту систему типов

Tia написал 7 минут назад:

нормальные енамы

что это значит? мне казалось что енамы это супер изи везде


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение
Just.Doit написал 21 минуту назад:

что это значит? мне казалось что енамы это супер изи везде

я скорее это имел в виду: https://betterprogramming.pub/algebraic-data-types-for-python-a-lesson-from-rust-d4635c94553b
в джсе енамы так вообще треш не юзабельный

Поделиться сообщением


Ссылка на сообщение
(изменено)
Vova написал 22 часа назад:
GoldRobot написал 22 часа назад:
Vova написал 22 часа назад:

Видимо я отстал от жизни

Какая проблема у ranges?

Оверхед большой. И оптимизацию ломает очень сильно.

 

В чем блять оверхуед

 

Ranged это пойнтер + размер или я что-то не понимаю?

 

https://en.cppreference.com/w/cpp/ranges

https://youtu.be/cK4cMdx9QeQ?si=qjvBlzLRW4Ll6hcH&t=2375

Проще так.

 

Поинтер + размер это спан.

 

Алсо чет вголос как вебер познает статическую типизацию :onneponimaet:


Изменено пользователем GoldRobot

ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 33 минуты назад:
Vova написал 22 часа назад:
GoldRobot написал 22 часа назад:
Vova написал 23 часа назад:

Видимо я отстал от жизни

Какая проблема у ranges?

Оверхед большой. И оптимизацию ломает очень сильно.

 

В чем блять оверхуед

 

Ranged это пойнтер + размер или я что-то не понимаю?

 

https://en.cppreference.com/w/cpp/ranges

https://youtu.be/cK4cMdx9QeQ?si=qjvBlzLRW4Ll6hcH&t=2375

Проще так.

 

Поинтер + размер это спан.

 

Алсо чет вголос как вебер познает статическую типизацию :onneponimaet:

 

Ребята из стандарта опять сделали тормозную неюзабельную хуйню ради красивых абстракций. Никогда такого не было и вот опять (привет strstream или unordered_set, регулярные выражения тихо плачут в сторонке). Одна надежда на оптимизации компилятором :onneponimaet:

Поделиться сообщением


Ссылка на сообщение

А ведь на процендурки так говорили.

Ха, да это гига-оверхед-неюзабельная абстракция ради абстракции!


ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 28 минут назад:
GoldRobot написал 1 час назад:
Vova написал 23 часа назад:
GoldRobot написал 23 часа назад:
Vova написал 23 часа назад:

Видимо я отстал от жизни

Какая проблема у ranges?

Оверхед большой. И оптимизацию ломает очень сильно.

 

В чем блять оверхуед

 

Ranged это пойнтер + размер или я что-то не понимаю?

 

https://en.cppreference.com/w/cpp/ranges

https://youtu.be/cK4cMdx9QeQ?si=qjvBlzLRW4Ll6hcH&t=2375

Проще так.

 

Поинтер + размер это спан.

 

Алсо чет вголос как вебер познает статическую типизацию :onneponimaet:

 

Ребята из стандарта опять сделали тормозную неюзабельную хуйню ради красивых абстракций. Никогда такого не было и вот опять (привет strstream или unordered_set, регулярные выражения тихо плачут в сторонке). Одна надежда на оптимизации компилятором :onneponimaet:

чел, ты свой нишевый кейс апроксимируешь на все юзкейсы с++

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

я готов ставить что количество человек которые пользуются первым раз в 10 больше, а то и в 100

соответственно схерали ты свое нишевое видение хочешь затащить в стандарт?

для многих поддерживаемый код (за счет красивых абстракций в том числе) гораздо важнее чем 0-оверхед код


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

у плюсов наверно было бы правильно делить библиотеку на варианты:

- супербыстрая, уёбищная в применении

- медленее варианта 1, но с высокой читаемостью, высокой скоростью применения, адекватная поддерживаемость

 

гибрид 1 и 2 очевидно хуйня, которая чем-то будет жертвовать

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 1 час назад:
Vova написал 23 часа назад:
GoldRobot написал 15.06.2024 в 00:36:

 

В чем блять оверхуед

 

Ranged это пойнтер + размер или я что-то не понимаю?

 

https://en.cppreference.com/w/cpp/ranges

https://youtu.be/cK4cMdx9QeQ?si=qjvBlzLRW4Ll6hcH&t=2375

Проще так.

 

Поинтер + размер это спан.

 

Алсо чет вголос как вебер познает статическую типизацию :onneponimaet:

 

я так понял плюсы изобрели наконец себе LINQ, но как обычно обосрались?


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
(изменено)
Just.Doit написал 55 минут назад:
Grohuf написал 1 час назад:
GoldRobot написал 2 часа назад:
Vova написал 15.06.2024 в 00:39:
GoldRobot написал 15.06.2024 в 00:36:
Vova написал 15.06.2024 в 00:02:

Видимо я отстал от жизни

Какая проблема у ranges?

Оверхед большой. И оптимизацию ломает очень сильно.

 

В чем блять оверхуед

 

Ranged это пойнтер + размер или я что-то не понимаю?

 

https://en.cppreference.com/w/cpp/ranges

https://youtu.be/cK4cMdx9QeQ?si=qjvBlzLRW4Ll6hcH&t=2375

Проще так.

 

Поинтер + размер это спан.

 

Алсо чет вголос как вебер познает статическую типизацию :onneponimaet:

 

Ребята из стандарта опять сделали тормозную неюзабельную хуйню ради красивых абстракций. Никогда такого не было и вот опять (привет strstream или unordered_set, регулярные выражения тихо плачут в сторонке). Одна надежда на оптимизации компилятором :onneponimaet:

чел, ты свой нишевый кейс апроксимируешь на все юзкейсы с++

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

я готов ставить что количество человек которые пользуются первым раз в 10 больше, а то и в 100

соответственно схерали ты свое нишевое видение хочешь затащить в стандарт?

для многих поддерживаемый код (за счет красивых абстракций в том числе) гораздо важнее чем 0-оверхед код

Ты что-то путаешь. Видео по таймкоду глянь. Изначальный ("наивный", ха) вариант уже прекрасно читабелен. Вместо этого плодят какую-то хуету. Уже первый их подход с тем же std::transform тупо не читабелен был. Они сделали еще один подход с этими ranges. Ага, стало читабельней, только НАХУЯ, если оно в полтора раза медленней? Изначальный код прекрасно выполняет свои функции. Эта хуйня в стандарте си++ постоянно. Там какие-то оторванные от реальности аутисты работают.

GoldRobot написал 1 час назад:

А ведь на процендурки так говорили.

Ха, да это гига-оверхед-неюзабельная абстракция ради абстракции!

На чем?


Изменено пользователем Grohuf

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 2 часа назад:
Vova написал 14.06.2024 в 14:39:
GoldRobot написал 14.06.2024 в 14:36:
Vova написал 14.06.2024 в 14:02:

Видимо я отстал от жизни

Какая проблема у ranges?

Оверхед большой. И оптимизацию ломает очень сильно.

 

В чем блять оверхуед

 

Ranged это пойнтер + размер или я что-то не понимаю?

 

https://en.cppreference.com/w/cpp/ranges

https://youtu.be/cK4cMdx9QeQ?si=qjvBlzLRW4Ll6hcH&t=2375

Проще так.

 

Поинтер + размер это спан.

 

Алсо чет вголос как вебер познает статическую типизацию :onneponimaet:

 

 

Ну строго говоря ranges существовали еще до views пайпов и тд

 

Существовали еще в boost и очень давно


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение
(изменено)
Olololnet написал 1 час назад:

гибрид 1 и 2 очевидно хуйня, которая чем-то будет жертвовать

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

я слышал в расте много 0-кост абстракций или че-то такое

Grohuf написал 41 минуту назад:

Ага, стало читабельней, только НАХУЯ, если оно в полтора раза медленней?

ну если стало читабельней, то вот тебе и ответ - чтобы было читабельней

кому не похуй на 1.5 раза медленней? 1% тех кто пишет браузеры и прочий высокооптимизированный код?

 

на самом деле в видосе очень простой кейс, там рили незачем. Но представь что у тебя там сложные преобразования нужны - map, reduce/fold, filter, groupby и тп

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

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

 

я без шуток рекомендую тебе вылезти из своего браузерного болота и расширить кругозор программированием чего-то более "высокоуровневого" где не надо трястись за каждый такт процессора

прочто чтобы понимать почему что либо добавляют в стандарт

Kant написал 58 минут назад:
GoldRobot написал 2 часа назад:
Vova написал 14.06.2024 в 23:39:
GoldRobot написал 14.06.2024 в 23:36:
Vova написал 14.06.2024 в 23:02:

Видимо я отстал от жизни

Какая проблема у ranges?

Оверхед большой. И оптимизацию ломает очень сильно.

 

В чем блять оверхуед

 

Ranged это пойнтер + размер или я что-то не понимаю?

 

https://en.cppreference.com/w/cpp/ranges

https://youtu.be/cK4cMdx9QeQ?si=qjvBlzLRW4Ll6hcH&t=2375

Проще так.

 

Поинтер + размер это спан.

 

Алсо чет вголос как вебер познает статическую типизацию :onneponimaet:

 

я так понял плюсы изобрели наконец себе LINQ, но как обычно обосрались?

мне кажется грофух гонит в принципе на LINQ-like апи, потому что оно не оптимально по определению

 

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

GoldRobot написал 2 часа назад:

А ведь на процендурки так говорили.

Ха, да это гига-оверхед-неюзабельная абстракция ради абстракции!

так и есть

настоящий перформный код пишут на си с goto

 

***

досмотрел ролик

ну там чел говорит что просто компилятор пока слишком тупой чтобы такой код оптимизировать

так что мб проблема вообще не в стд, а в том что компиляторы были оптимизированы под другие юзкейсы 


Изменено пользователем Just.Doit

 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение
Just.Doit написал 33 минуты назад:

ну если стало читабельней, то вот тебе и ответ - чтобы было читабельней

кому не похуй на 1.5 раза медленней? 1% тех кто пишет браузеры и прочий высокооптимизированный код?

 

на самом деле в видосе очень простой кейс, там рили незачем. Но представь что у тебя там сложные преобразования нужны - map, reduce/fold, filter, groupby и тп

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

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

 

я без шуток рекомендую тебе вылезти из своего браузерного болота и расширить кругозор программированием чего-то более "высокоуровневого" где не надо трястись за каждый такт процессора

прочто чтобы понимать почему что либо добавляют в стандарт

То, что ты описываешь, делают какие-нибудь библиотеки для питона под какую-нибудь задачу, а не std библиотека. Для std библиотеки просто пишут хуйню какую-то, а не что-то полезное.

А не, std::filesystem есть теперь (говеный, но хоть что-то).

Любой крупный си++ проект начинается с того, что надо написать базовую библиотеку для тривиальных вещей, потому что в std этого нет. И вот, казалось бы, в std с 11го стандарта активно чего-то добавляют. Но почему всегда с говеной реализацией из-за того, что в комитете сидят аутисты, которым нужны какие-то нахуй абстракции? Вот реально, они пишут ГОВНО из-за абстракций. Одна только система с итераторами и алгоритмами - это просто кровь из глаз. Почему-то в остальных языках все пишут для людей, а в си++ пишут ради чувства прекрасного дауна из комитета?

 

Ну и аргументы вида "кому-то похуй на производительность, поэтому им это подходит" - люди, которым похуй на производительность, на си++ не пишут. Да, есть такие ребята, типа меня, которые на си++ пишут 97% времени и иногда оказывается проще написать скриптик на плюсах, чем вспоминать синтаксис питона, но писать для таких случаев стандартную библиотеку - идиотизм. Писать надо сразу НОРМАЛЬНО.

 

По факту оказывается, что за 12 лет работы в браузере в базовой библиотеки хромиума были заменены на стандартную реализацию:

std::unique_ptr

std::string_view

std::string16

 

Даже std::span еще не юзается, но, наверное, будут, причину, почему еще не сделали, не знаю. Почему в базовой библиотеке хромиума всякая хуйня, типа обрезание символов по концам строки, конкатенация строк, разбиение строк и прочее? Почему этого нет в базовой библиотеке? Но нахуярить ненужных абстракций - за милую душу.

Поделиться сообщением


Ссылка на сообщение

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

×
×
  • Создать...