оптимизация gcc отмечает для Xeon?

Для моего варианта использования (который, по общему признанию, очевидно отличается от OP ...) я хотел иметь индексы массива в обратном порядке в v-for «петле».

Мое решение состояло в том, чтобы создать метод приложения Vue reverseRange(length), который возвращает массив целых чисел от длины 1 до 0. Затем я использовал это в своей директиве v-for и просто назвал мои элементы массива как myArray[index]. каждый раз, когда мне это было нужно.

Таким образом, индексы были в обратном порядке, и я смог затем использовать их для доступа к элементам массива.

Я надеюсь, что это поможет тому, кто попал на эту страницу с этим тонким нюансом в своих требованиях, как я.

35
задан Eugene Bujak 3 June 2009 в 09:02
поделиться

4 ответа

Xeon - это маркетинговый термин, поэтому он охватывает длинный список процессоров с очень разными внутренними компонентами.

Если вы имели в виду более новые процессоры Nehalem (Core i7), то этот слайд указывает, что начиная с 4.3.1 gcc следует использовать -march = generic (хотя ваше собственное тестирование вашего собственного приложения может найти другие настройки, которые превосходят это). Серия 4.3 также добавила -msse4.2, если вы хотите оптимизировать этот аспект математики FP.

Вот некоторая дискуссия , сравнивающая настройку в компиляторе Intel с некоторыми флагами gcc.

7
ответ дан 27 November 2019 в 06:39
поделиться

march = native подходит для вашей машины, но плохо для двоичных версий.

-march = nocona рекомендуется для атома 330 (p4 / 64bit) -march = core2 предназначен для core2

Я предполагаю, что вы собираетесь использовать 64-битную версию.

3
ответ дан 27 November 2019 в 06:39
поделиться

newer versions of gcc have -march=native which lets the compiler automatically determine the optimal -march flag.

20
ответ дан 27 November 2019 в 06:39
поделиться

My experience with Intel CPUs and x86_64 has been that every time I tried to tell gcc to optimize for a specific CPU type, the performance got worse than with -march=generic, not better. YMMV, of course, but I've been playing around with stuff like this lots of times over the years, and it has always been like that.

OTOH, on i386 it might make sense to target at least i686 or, if you want SSE math, at least Pentium 4.

2
ответ дан 27 November 2019 в 06:39
поделиться