Size: a a a

2021 July 06

AP

Anton Petrusevich in Modern::Perl
побенчмаркай на си :)
источник

SZ

Sergey Zhmylove in Modern::Perl
Ещё раз: ты считаешь, что 01010101 оно не из памяти достанет?
источник

AP

Anton Petrusevich in Modern::Perl
но это мало даст глобально, я принимаю аргумент, что 256 байт на "обычном" процессоре с высокой вероятностью ляжут в кеш и не выпадут оттуда на время бенчмарка.
источник

SZ

Sergey Zhmylove in Modern::Perl
Это чем? :)) А то я сейчас на time буду сочинять бенч
источник

AP

Anton Petrusevich in Modern::Perl
константы вписываются в код, насколько я помню, они лежет не в сегменте данных
источник

AP

Anton Petrusevich in Modern::Perl
то есть, когда ты пишешь "загрузить 0 в регистр" (оставим в стороне оптимизации и спец инструкции), то 0 записывается прямо в код, он не достаётся из данных
источник

SZ

Sergey Zhmylove in Modern::Perl
Как это? В какой архитектуре?
источник

SZ

Sergey Zhmylove in Modern::Perl
0 -- это 0
источник

AP

Anton Petrusevich in Modern::Perl
ну, в Z80, например
источник

VT

Vasily Terkin in Modern::Perl
во многих есть загрузка imm значения
источник

SZ

Sergey Zhmylove in Modern::Perl
Конечно есть
источник

SZ

Sergey Zhmylove in Modern::Perl
Тогда я напишу не return tbl[arg], а switch(arg) case X: return Y
источник

SZ

Sergey Zhmylove in Modern::Perl
И это оптимизииуется в jmp по arg
источник

SZ

Sergey Zhmylove in Modern::Perl
И imm return
источник

AP

Anton Petrusevich in Modern::Perl
в общем, я для себя вывел когда-то правило, что обращения к рам дороже битовых операций с регистрами. насколько дороже — зависит от массы факторов, процессоры сильно оптимизировали это место, но оно остаётся проблемным
источник

SZ

Sergey Zhmylove in Modern::Perl
В каком-то «общем» случае -- это правда. В частном случае (задачи на любые преобразования uint8_t) быстрее будет получать результат по таблице истинности
источник

VG

Vadim Goncharov in Modern::Perl
развели тут
источник

AP

Anton Petrusevich in Modern::Perl
я ж сказал, это верно, наверняка, для твоего десктопного процессора и объёма в 256 байт. но в общем случае — сложно
источник

SZ

Sergey Zhmylove in Modern::Perl
Просто такие задачи -- это вечный спор «академических» программистов и «инженеров со здравым смыслом»
источник

AP

Anton Petrusevich in Modern::Perl
не существует какой то единой стоимости обращения к рам. даже в рамках одного процессора
источник