"Трехтомник" по UB в Си
От: LaptevVV Россия  
Дата: 04.07.24 13:22
Оценка: 4 (2) +1
https://habr.com/ru/articles/341048/
https://habr.com/ru/articles/341144/
https://habr.com/ru/articles/341154/
Довольно обстоятельно
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: "Трехтомник" по UB в Си
От: kov_serg Россия  
Дата: 04.07.24 14:17
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>https://habr.com/ru/articles/341048/

LVV>https://habr.com/ru/articles/341144/
LVV>https://habr.com/ru/articles/341154/
LVV>Довольно обстоятельно
Землянам должно быть стыдно за такую философию оптимизаций, где на корректность генерируемого кода просто кладут
Да и poison в качестве значения мягко говоря это садисты придумали
Re[2]: "Трехтомник" по UB в Си
От: T4r4sB Россия  
Дата: 04.07.24 14:34
Оценка: +2
Здравствуйте, kov_serg, Вы писали:


_>Землянам должно быть стыдно за такую философию оптимизаций, где на корректность генерируемого кода просто кладут



Где кладут на корректность говнокода, ты хотел сказать?
Без UB тебе вообще ничего нельзя будет оптимизировать, читай из памяти на каждый чих, вдруг какая-то совершенно не связанная операция залезла в ту память, а мы это не заметим?
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[3]: "Трехтомник" по UB в Си
От: kov_serg Россия  
Дата: 04.07.24 17:07
Оценка: +2
Здравствуйте, T4r4sB, Вы писали:

TB>Где кладут на корректность говнокода, ты хотел сказать?

TB>Без UB тебе вообще ничего нельзя будет оптимизировать, читай из памяти на каждый чих, вдруг какая-то совершенно не связанная операция залезла в ту память, а мы это не заметим?
Не надо преувеличивать. Все допущения можно описать при желании. Но модель которая используется в C/C++ можно было придумать только под действием тяжелых наркотиков. Более того это возведено в ранг культа, и любой кто усомниться в правильности направления будет считаться отступником, еретиком и немедленно подвергнут гонениям.
Re[4]: "Трехтомник" по UB в Си
От: T4r4sB Россия  
Дата: 04.07.24 17:24
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Не надо преувеличивать. Все допущения можно описать при желании.


Да так оно примерно и есть
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[5]: "Трехтомник" по UB в Си
От: kov_serg Россия  
Дата: 04.07.24 19:02
Оценка:
Здравствуйте, T4r4sB, Вы писали:

_>>Не надо преувеличивать. Все допущения можно описать при желании.


TB>Да так оно примерно и есть


Не совсем так. Их надо описывать явно, а не молчаливо подразумевать и менять со временем.
Re: "Трехтомник" по UB в Си
От: Кодт Россия  
Дата: 05.07.24 09:02
Оценка: 26 (2)
Здравствуйте, LaptevVV, Вы писали:

LVV>Довольно обстоятельно


Однотомник, но тоже весьма обстоятельно и структурированно
https://github.com/Nekrolm/ubbook
Перекуём баги на фичи!
Re[2]: "Трехтомник" по UB в Си
От: Pzz Россия https://github.com/alexpevzner
Дата: 05.07.24 11:58
Оценка: :)
Здравствуйте, kov_serg, Вы писали:

_>Землянам должно быть стыдно за такую философию оптимизаций, где на корректность генерируемого кода просто кладут


Земляне гордятся тем, что способны все это освоить и писать на этом программы сложнее, чем "hello, world!". Ну, те, которые способны. Это расчесывает их ЧСВ.
Re[3]: "Трехтомник" по UB в Си
От: Pzz Россия https://github.com/alexpevzner
Дата: 05.07.24 12:17
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>Без UB тебе вообще ничего нельзя будет оптимизировать, читай из памяти на каждый чих, вдруг какая-то совершенно не связанная операция залезла в ту память, а мы это не заметим?


По-моему, эта вся потребность в оптимизации берется из того обстоятельства, что программист пишет, например, s = s1 + s2. Все три переменные — это строки. Программисту надо просто сложить две строки.

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

Вот тут-то и возникает потребность в хитроумной оптимизации. Чтобы по скорости хотя бы отстойному JS не сливать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.