У меня есть следующий код для эмуляции базовой системы на моем компьютере (x86):Lookup таблицу Функция производительности указатель массива C++
typedef void (*op_fn)();
void add()
{
//add Opcode
//fetch next opcode
opcodes[opcode]();
}
void nop()
{
//NOP opcode
//fetch next opcode
opcodes[opcode]();
}
const op_fn opcodes[256] =
{
add,
nop,
etc...
};
и я называю это «стол» с помощью opcodes[opcode]()
Я пытаюсь улучшить производительность моего переводчика. насчет встраивание каждой функции, как
inline void add()
inline void nop()
Есть ли какие-либо преимущества делают это?
Есть ли способ ускорить его? Thanks
Вопрос о рабочем коде, возможно, лучше для http://codereview.stackexchange.com/ – user463035818
Можете ли вы создать игрушечный пример фактического рабочего кода, который соответствует вашему шаблону? Даже с 3 опкодами? Как написано, большие проблемы с производительностью могут быть скрыты вашим псевдокодом. Кроме того, «сделать лучше» - это плохой вопрос; явным образом ваш код выходит из строя, или что-то неожиданное. – Yakk
@ tobi303 это пример/псевдокод, который не соответствует теме обзора кода, на этом сайте нам нужен реальный рабочий код. См. [Руководство по обзору кода для пользователей переполнения стека] (http://meta.codereview.stackexchange.com/questions/5777/a-guide-to-code-review-for-stack-overflow-users) – Phrancis