Size: a a a

2020 December 30

/

/bin/cat in rust_offtopic
Constantine Drozdov
ага, потому что путают с "ab", но по задумке 'ab' прямое чтение, "ab" косвенное
типо будет mov вместо lea или как?
источник

EG

Emmanuel Goldstein in rust_offtopic
Ни разу не видел, чтобы кто-то это делал не случайно.
источник

EG

Emmanuel Goldstein in rust_offtopic
Emmanuel Goldstein
А так — по идее, пакует a и b в два младших байта инта.
Да, именно это и делает
источник

/

/bin/cat in rust_offtopic
Теоретически это быстрее?
источник

EG

Emmanuel Goldstein in rust_offtopic
/bin/cat
Теоретически это быстрее?
Чем что?
источник

/

/bin/cat in rust_offtopic
чем lea
источник

EG

Emmanuel Goldstein in rust_offtopic
/bin/cat
чем lea
Чего
Семантика C вообще ничего не знает ни про mov, ни про lea
источник

а

а это кто in rust_offtopic
Constantine Drozdov
ага, потому что путают с "ab", но по задумке 'ab' прямое чтение, "ab" косвенное
прикольно
источник

/

/bin/cat in rust_offtopic
оно же там считает выражение
источник

/

/bin/cat in rust_offtopic
мне интересно, быстрее ли 'ab' в x86
источник

EG

Emmanuel Goldstein in rust_offtopic
/bin/cat
мне интересно, быстрее ли 'ab' в x86
Быстрее чем что???
Приведи два сниппета кода на C, которые ты хочешь сравнить
источник

а

а это кто in rust_offtopic
/bin/cat
мне интересно, быстрее ли 'ab' в x86
зачем их сравнивать если они выполняют разные функции?
источник

/

/bin/cat in rust_offtopic
Emmanuel Goldstein
Быстрее чем что???
Приведи два сниппета кода на C, которые ты хочешь сравнить
1) 'ab'
2) "ab"
источник

EG

Emmanuel Goldstein in rust_offtopic
/bin/cat
1) 'ab'
2) "ab"
Первое имеет тип int, второе имеет тип const char *
источник

а

а это кто in rust_offtopic
источник

/

/bin/cat in rust_offtopic
а, даже так
источник

EG

Emmanuel Goldstein in rust_offtopic
И с тем, и с другим, оптимизатор может сделать потом что угодно
источник

/

/bin/cat in rust_offtopic
тогда уж проще сделать на стеке строчку
источник

EG

Emmanuel Goldstein in rust_offtopic
/bin/cat
тогда уж проще сделать на стеке строчку
Строчка на стеке называется «массив символов».
источник

EG

Emmanuel Goldstein in rust_offtopic
const char* это «строчка в rodata»
источник