- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
#include <http://govnokod.ru/21585>
// assembly output for f1_signed and f2_signed on GCC 7,6,5 ... versions are same
signed char f1_signed(signed char a1, signed char a2, signed char a3)
{
return MAXS(a1,a2,a3,a1,a2,a3);
}
signed char f2_signed(signed char a1, signed char a2, signed char a3)
{
return MAXS(a1,a2,a3);
}
// assembly output for f1_unsigned and f2_unsigned on GCC 7,6,5 ... versions are differend
// GCC compiler can't do same simplification for unsigned function
// This function produces much more assembler code than second
unsigned char f1_unsigned(unsigned char a1, unsigned char a2, unsigned char a3)
{
return MAXS(a1,a2,a3,a1,a2,a3);
}
unsigned char f2_unsigned(unsigned char a1, unsigned char a2, unsigned char a3)
{
return MAXS(a1,a2,a3);
}
TeaBag 30.04.2017 17:47 # −36
j123123 30.04.2017 18:34 # −11
Fike 30.04.2017 20:21 # +4
bormand 30.04.2017 18:45 # +3
CrashTesterAnusov 30.04.2017 23:02 # −5
А ЧТО, ТАК МОЖНО?
gost 30.04.2017 23:25 # +2
Elvenfighter 01.05.2017 02:07 # +1
j123123 01.05.2017 06:37 # +5
j123123 01.05.2017 04:46 # +6
1024-- 01.05.2017 09:50 # +9
В браузерах такие инклюды срабатывают чуть менее, чем при каждом исполнении программы, а в сишке бы срабатывали чуть менее, чем при каждой компиляции, предлагая пользователю ту же самую скомпилированную программу, что и раньше.
j123123 01.05.2017 09:54 # +5
1024-- 01.05.2017 10:29 # +8
1. Можно заранее пройтись по всем файлам, скачать и закэшировать перед компиляцией (заодно *.c и *.lib куда надо положить)
2. На сервере выкладывать файл состояния, содержащий либо DOWN (идёт обновление), либо UP <unique ID> (сайт работает), содержимое которого проверять на клиенте до и после скачивания всего. Такие файлы можно и вручную создавать.
3. Если и этого не хватит, пакеты складывать в *.zip (соответственно, include <http://..../fastsring.zip/string.h> и ясное знание о том, какие каталоги с какими *.c/*.lib куда распаковать). По крайней мере, в компиляторе организовать поддержку таких пакетов.
TeaBag 01.05.2017 10:47 # +2
1024-- 01.05.2017 10:55 # +16
TeaBag 01.05.2017 11:36 # +2
dxd 02.05.2017 08:37 # +1
guest 02.05.2017 11:39 # +4
TeaBag 02.05.2017 11:48 # −20
Dummy00001 03.05.2017 16:54 # +1
спойлер: на ней компилеры (кроме гсс) лажаются еще хуже.
AnalPunisher 03.05.2017 17:00 # −36
bormand 03.05.2017 22:21 # 0
Почему бы не закешировать в переменную максимум от хвоста и сравнить голову с ним? Получится няшно и линейно.
bormand 03.05.2017 22:25 # 0
Dummy00001 03.05.2017 22:26 # +2
bormand 03.05.2017 22:33 # 0
Вариант в ФП стиле я выше предложил. Его по-любому все конпеляторы смогут осилить ;)
Dummy00001 03.05.2017 23:25 # +1
но ведь "герои не ищут лёгких путей!" :)
AnalPunisher 04.05.2017 00:38 # −23
barop 04.05.2017 01:15 # −22
j123123 04.05.2017 01:15 # +5
j123123 04.05.2017 01:17 # +5
barop 04.05.2017 01:18 # +5
>>У нас в MZ — есть. Компания зарабатывает несколько миллионов долларов в день. А в вашем НИИГиТ наверняка нет ни >>таких средств, ни таких требований к производительности, которые бы требовали кластер
так и хочется добавить "потому делайте дальше свои сайты-визитки в дримвивире и не выябывайтесь"
Dummy00001 04.05.2017 01:21 # +2
ЗЫ я думал в сторону constexpr, как type-safe дефайны. я только после того как сплагиатил с SOнаписал код "заметил" что ты с переменными трахаешься, и это просто тупая экзотика и жуткий частный случай, где все нормальные люди напишут `?:` и забьют.
barop 04.05.2017 17:32 # −11
ну а если бы писал на плейнсях то первым аргумнетом был бы поинтер на структуру, и в моей колконвенции тот же самый регистр бы и занимал.
что не так?
или его копелятор мог бы переложить ?
AnalPunisher 04.05.2017 17:43 # −36
Dummy00001 04.05.2017 18:10 # +1
систематических тестов я не делал.
недавно делал лобовую конверсию нескольких методов из обычных в статические, и заметил что у обоих IAR и гцц (на медиум/Оs) код получился меньше.
про наезды микро-контроллерщиков на кресты и this я слышал раньше, но это был первый раз когда я лично увидел разницу своими глазами. разница у меня была небольшая - выхлоп дизасма у самой большой функции был где-то 80 инструкций - но на ~3-5 инструкций стала короче.
ЗЫ что конечно просто мелочи по сравнению с последствиями "хорошего дезайна". а попробуй найди нового разраба для крестов, который тебе *не* будет на все подряд интерфейсы/паттерны/этц клепать.
roman-kashitsyn 04.05.2017 18:52 # −15
Вменяемые, как правило, сильно ООП с наследованием и виртуальностью не увлекаются, ибо это довольно уныло. Я иногда использую "интерфейсы", но только когда без них код нормально не структурируешь. "ООП" и "паттерны", как правило, не друзья нормальному крестолюбу, ибо мешают использовать компилятор для нахождения ошибок.
Вот жабоеды да, без паттернов никуда.
Dummy00001 04.05.2017 19:40 # +1
Но Жаба это новый Пасцаль и Васик. Система образования медленно уверенно на него пересаживается.
Почти все новички которых встречал начинали с жабы. Если кто-то думал что васика начинать плохо...
От тюрьмы и от сумы жабы, как не зарекайся, никуда не денешься.
guestinh0 04.05.2017 20:26 # −15
Antervis 04.05.2017 05:32 # +1
Antervis 04.05.2017 05:41 # +1
j123123 04.05.2017 10:50 # −9
В общем плюсы опять показали свою анскильно-заедушную сущность
j123123 04.05.2017 10:53 # −12
Antervis 04.05.2017 12:04 # 0
clang: http://rextester.com/XHFAJ74316
msvc: http://rextester.com/CTYQZ1278
В среднем по больнице моя реализация быстрее при включенной оптимизации. И разрыв увеличивается при росте числа аргументов
j123123 04.05.2017 17:59 # −12
Плюсы говно
AnalPunisher 04.05.2017 18:00 # −30
guestinh0 04.05.2017 19:36 # −12
> обошла обычный плюсовый код на гцц
> кресты соснули
j123123 04.05.2017 20:05 # −12
Не только на гцц
Antervis 04.05.2017 21:16 # −6
[u]https://wandbox.org/permlink/cJGubPnhwTzWJwnY[u]
Antervis 04.05.2017 21:24 # 0
1024-- 04.05.2017 21:48 # +6
"O(exp(N)) сравнений" выглядит как трудоёмкость алгоритма поиска минимума/максимума и несколько запутывает читателя.
Впрочем, этот интересный вопрос от такого не закрывается.
Antervis 05.05.2017 05:55 # 0
1024-- 05.05.2017 09:44 # 0
P. S. Ботоводы, хватит меня плюсовать. Лучше окажите моральную поддержку или аргументы киньте.
Antervis 05.05.2017 04:52 # −7
Полный аналог. В 10 строках кода. Видимо, понять оптимизацию линейного участка gcc сложнее, чем древовидного.
П.с. шланг решил, что самый умный
https://wandbox.org/permlink/zudFXzeQdcvFt9v3
Antervis 05.05.2017 05:51 # 0
А еще wandbox тупит. Первый тест почти всегда прогоняется дольше
j123123 05.05.2017 10:06 # −6
guestinh0 04.05.2017 10:55 # −14
barop 04.05.2017 12:32 # −11
guestinh0 04.05.2017 12:41 # −11
AnalPunisher 04.05.2017 13:05 # −39
barop 04.05.2017 13:16 # −12
Не благодари
guestinh0 04.05.2017 13:24 # −11
barop 04.05.2017 13:31 # −11
Судя по остроте реакции я попал в точку, да?
AnalPunisher 04.05.2017 13:52 # −36
guest 05.05.2017 09:32 # +3
guest 05.05.2017 09:33 # −21
j123123 04.05.2017 01:31 # +5
guest 05.05.2017 10:17 # −6
j123123 05.05.2017 10:23 # −5
guest 05.05.2017 12:45 # −6
guest 05.05.2017 12:46 # −6
j123123 05.05.2017 13:14 # −6
barop 05.05.2017 13:15 # −20
Dummy00001 05.05.2017 15:24 # +2
AnalPunisher 05.05.2017 16:23 # −30
Dummy00001 05.05.2017 16:53 # +4
я бы понял если бы это был бот - но очевидно что это кто-то пишет руками. как следствие, все что он пишет у него в голове как фантазия крутиться. и он уже долго пишет - что подтвеждает его хронические проблемы. то что хочет настоятельно кому то вставить (хочет контролировать ситуацию) однозначно намекает что он какой то сопливый прыщавый импотент. вопрос только: это у него из-за недостаточного возраста, или из-за проблем с потенцией?
barop 05.05.2017 16:55 # −29
AnalPunisher 05.05.2017 16:57 # −37
Dummy00001 05.05.2017 17:16 # +1
... и каких только типов на ГК не встретишь. похоже эти trans-gender и до наших далей добрались.
AnalPunisher 05.05.2017 17:25 # −30
Dummy00001 05.05.2017 17:47 # +2
не только твоя ориентация стоит под вопросом, но даже твой пол.
о, забыл об еще одном варианте: может быть ты кастированый? твои психозы и неврозы как ты здесь публично демонстрируешь можно объяснить побочными эффектами кастрации на слабую психику.
это даже объяснит почему ты боишься женщин и пытаешься мужикам вставлять. и почему ты остановится не можешь со своими глупыми постами: другого выхода эмоциям нету.
Dummy00001 05.05.2017 17:55 # +2
и не мужик, и не женщина - кастрат однозначно один из самых вероятных ответов. ну сразу после 5-7 летнего сопливого ребёнка.
doktor 05.05.2017 17:58 # 0
Dummy00001 05.05.2017 18:03 # +3
AnalPunisher 05.05.2017 18:05 # −30
Dummy00001 05.05.2017 18:13 # 0
раскажи как твоя кастрация случилась. несчастный случай? или папа мама решили что такому как ты лучше не размножатся??
barop 05.05.2017 18:32 # −42
Dummy00001 05.05.2017 18:54 # 0
Dummy00001 05.05.2017 18:00 # +1
guestinh0 05.05.2017 18:01 # −30
barop 05.05.2017 16:37 # −30
cykablyad 05.05.2017 19:22 # 0
Шел 1207 год, линуксоиды так и не сделали DE с интерфейсом, как у Висты
Хоть самому пиши
AnalPunisher 05.05.2017 19:24 # −11
cykablyad 05.05.2017 19:25 # +1
1024-- 05.05.2017 19:51 # 0
Antervis 05.05.2017 20:08 # +3
barop 05.05.2017 20:31 # +3
CHayT 05.05.2017 20:11 # −1
Как что-то плохое.
cykablyad 05.05.2017 20:12 # 0
j123123 05.05.2017 20:16 # +3
Говно и ненужно
barop 05.05.2017 20:30 # +4
тем более что на линуксе тыщапицот DE, выбирай на любой вкус
barop 05.05.2017 20:35 # −22