September 25th, 2020

Даты круглые и не совсем круглые

Смотрим на календарь, а там 25 сентября...

1632 год. На реке Лена заложен Якутский (Ленский) острог. От места расположения современного Якутска острог находился в 70 километрах. Тем не менее, данная дата считается датой основания Якутска.
1763 год. Официально открыта первая в России публичная больница - Павловская больница в Москве. Ныне это Городская клиническая больница №4 Москвы.
1789 год. Русские войска под командованием генерал-майора Иосифа Михайловича Дерибаса (Хосе де Рибас - Jose de Ribas y Boyons) взяли турецкую крепость Хаджибей, будущую Одессу.
1789 год. Предложены к принятию 10 поправок к конституции США, более известных как "Билль о правах" (Bill of Rights).
1799 год. Во время перехода через Альпы русские войска под командованием Александра Васильевича Суворова штурмом взяли высокогорный "Чертов мост".

Рабочее.

В продолжение вчерашнего.

Итак, умножаем матрицы. Надо проверить, как включение/отключение оптимизации влияет на скорость вычисления. Устанавливаю флаг -O0, указывающий на отключение оптимизации вовсе. Запускаю. С удивлением получаю результат примерно равный результату, полученному при стандартных установках. Предполагаю, что по умолчанию оптимизация отключена. Делаю второй вариант с флагом -O3 (максимальная оптимизация по скорости). Результат... ровно тот же.

Начинаю разбираться. Оказывается, стандартные параметры компиляции зашиты в конфигурационный файл. И в этих параметрах стоит флаг -O2 (оптимизация по скорости среднего уровня). И при запуске компилятора, пользовательские флаги в командную строку пишутся перед стандартными, то есть у нас получается, что в командной строке стоит -O0 -O2 (или -O3 -O2). При этом, если в командной строке стоит несколько флагов для одной опции, то применяется последний из них, то есть в обоих случаях -O2. Пришлось редактировать конфигурационный файл.

З.Ы. По результатам получилось, что -O3 практически не дает выигрыша по скорости по сравнению с -O2. Но по сравнению с -O0 выигрыш до 4-х раз, в среднем на 50%.