Что является более дорогим, сравнение или присвоение?

Это несколько , связанное с этим вопросом .

Вы также можете просто использовать функцию by () :

x2 <- by(x$Frequency, x$Category, sum)
do.call(rbind,as.list(x2))

Эти другие пакеты (plyr, reshape) имеют преимущество в возврате данных .frame, но это стоит знать с помощью (), поскольку это базовая функция.

15
задан cmsjr 9 March 2009 в 19:55
поделиться

2 ответа

Микрооптимизация является почти всегда неправильным поступком. Даже не запускайте на нем, если прогоны программы слишком медленно, и Вы не используете профилировщика для определения точно, где медленные части.

, Как только Вы сделали это, мой совет состоит в том, чтобы заняться улучшающимся кодом и местностью данных, потому что неудачные обращения в кэш почти наверняка хуже, чем субоптимальные инструкции.

, Что быть сделанным, в довольно нечетном случае, что можно использовать или основанный на присвоении или основанный на сравнении подход, пробует обоих и время их. Микрооптимизация является игрой чисел. Если числа не достаточно хороши, узнают, почему, то проверьте это, что Вы делаете на самом деле работы.

Так, что Вы подразумеваете под сравнением? Условные переходы вызывают проблемы к любому неопределенно современному процессору, но различные процессоры делают разные вещи, и нет никакой гарантии, что любой, учитывая каждый замедлит вещи. Кроме того, если любой вызывают неудачное обращение в кэш, это - вероятно, более медленное несмотря ни на что.

Наконец, языки обычно компилируются в машинный код, и простые вещи как сравнения и присвоения будут обычно компилироваться то же. Большой разницей будет тип ЦП.

7
ответ дан 1 December 2019 в 04:18
поделиться

Что Вы думаете?

На самом низком уровне каждый делает два чтения, другой делает чтение и запись.

, Но почему необходимо действительно заботиться? Вы не должны заботиться о производительности на этом уровне. Оптимизируйте для Большой-O

9
ответ дан 1 December 2019 в 04:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: