Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 September 04

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Даниил Кустов
Кстати насчет этого. Я надеюсь предкомпилятор(который байт код создает) оптимизирует 5/4 в 0.25?
понятия не имею
источник

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
понятия не имею
Ну ты начитанный. Думал вдруг знаешь
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
я не знаю что значит соптимизирует
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
у тебя вот есть текст скрипта
источник

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Ну в плане c++ компилятор заменит int a = 5/4 на 1.25 если не ошибаюсь
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
символ за символом это читается во время выполнения
источник

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Разве у питона нет предкомпиляции в байткод?
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
чтобы превратить 5/4 в 1.25 - нужно так или иначе 5 поделить на 4
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
какая разница когда это произойдет, если это все равно произойдет в рантайме
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Даниил Кустов
Разве у питона нет предкомпиляции в байткод?
можно - cython
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
но это над отдельно делать
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
но на самом деле большого выигрыша прям это не дает в большинстве случаев
источник

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
но на самом деле большого выигрыша прям это не дает в большинстве случаев
Ну условно в цикле прибавлять к каждому элементу массива 5/4
Проще ведь прибавлять сразу известное значение - 1.25, а не каждый раз 5 делить на 4
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
самый большой выигрыш дает использование оптимальных структур данных, алгоритмов и профилирование с последующим устранением ботлнеков
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Даниил Кустов
Ну условно в цикле прибавлять к каждому элементу массива 5/4
Проще ведь прибавлять сразу известное значение - 1.25, а не каждый раз 5 делить на 4
это все какие то фантазии
источник

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Ну считай fsub против fmul и fsub
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
как говорил один из первых моих наставников технических - сказочник
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
первое правило оптимизации производительности - ее нужно замерять
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
без замеров это разговоры ниочем
интересно тебе - возьми да замерь
напиши бенчмарк, оцени влияние
профилировщик используй
источник

ДК

Даниил Кустов... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Скорее всего компилятор это превратит в такое:

eax = 5/4;
for (int i = 0; i<10;i++)
{
array[i] += eax;
}
источник