LVitA: переменные, в которые модули поиска заносят списки директори для инклуда и списки библиотек для линковки, не обладают унифицированными именами. Каждый модуль называет переменные по своему. Как минимум у вас орфографическая ошибка - OPENGL_LIBRARYS. В английском языке множественное число не так образуется, правильно libraries.
Те модули, которые идут в CMake из коробки, в большинстве случаев используют единообразное именование переменных. Но CMake не накладывает ограничений на имена. Так что при использовании модулей начинать нужно с документации.
Алексей Скобкин: Но есть пару мест, где 64 битный код может выиграть - это копирование большого участка памяти наивным методом (через регистр, а не через инструкцию) и длинная арифметика.
"когда собирая 32-битную версию вы поддерживаете всё начиная от 486 процессора"
При сферическом коне в вакууме разрядность программы никак не зависит от архитектуры. 32 битный код так же может использовать инструкции SSE, AVX, AES и т.д, которые не поддерживает 486 процессор.
Therapyx: конкретно по вашему вопросу - вы не заметите различий. В Java строки константны. Так что при необходимости модификации все равно будут создаваться новые объекты. Создание ссылки и помещение ее в стек занимает пару тактов процессора. При миллиарде записей на это уйдет менее секунды на современном процессоре.
При простых вычислениях узким горлом может оказаться сам вызов функции (что к строкам не относится, т.к. итерация по паре элементов уже будет дороже стоить, чем вызов функции). Но по слухам JIT неплохо работает и инлайнит горячие участки.
Так что я бы вот что посоветовал: пишите код для людей.