LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

У glm::vec3 есть constexpr vec3(T x, T y, T z), соответствтенно, будет вызван он напрямую без создания промежуточного initializer_list, в данном случае вложенные фигурные скобки лишь синтаксический сахар для вызова конструктора. Так что данный код создаёт лишь один initializer_list для самого vector.

20 * 3 * sizeof(unsigned int) = 20 * 3 * 4 = 240 байт. Копирование 240 байт едва ли занимает сколько-нибудь значимую роль в данном алгоритме (второй vector с самими координатами весит ещё меньше, так как там меньше элементов, а sizeof(unsigned int) == sizeof(float) на моей архитектуре), даже если его повторить несколько раз.

Исправление KivApple, :

У glm::vec3 есть constexpr vec3(T x, T y, T z), соответствтенно, будет вызван он напрямую без создания промежуточного initializer_list, в данном случае фигурные скобки лишь синтаксический сахар для вызова конструктора. Так что данный код создаёт лишь один initializer_list для самого vector.

20 * 3 * sizeof(unsigned int) = 20 * 3 * 4 = 240 байт. Копирование 240 байт едва ли занимает сколько-нибудь значимую роль в данном алгоритме (второй vector с самими координатами весит ещё меньше, так как там меньше элементов, а sizeof(unsigned int) == sizeof(float) на моей архитектуре), даже если его повторить несколько раз.

Исправление KivApple, :

У glm::vec3 есть constexpr vec3(T x, T y, T z), соответствтенно, будет вызван он напрямую без создания промежуточного initializer_list, в данном случае фигурные скобки лишь синтаксический сахар для вызова конструктора. Так что данный код создаёт лишь один initializer_list для самого vector.

20 * 3 * sizeof(unsigned int) = 20 * 3 * 4 = 240 байт. Копирование 240 байт едва ли занимает сколько-нибудь значимую роль в данном алгоритме (второй vector с самими координатами весит ещё меньше, так как там меньше элементов), даже если его повторить несколько раз.

Исходная версия KivApple, :

У glm::vec3 есть constexpr vec3(T x, T y, T z), соответствтенно, будет вызван он напрямую без создания промежуточного initializer_list, в данном случае фигурные скобки лишь синтаксический сахар для вызова конструктора. Так что данный код создаёт лишь один initializer_list для самого vector.

20 * 3 * sizeof(unsigned int) = 20 * 3 * 4 = 240 байт. Копирование 240 байт едва ли занимает сколько-нибудь значимую роль в данном алгоритме (второй vector с самими координатами весит ещё меньше, так как там меньше элементов).