green_fr (green_fr) wrote,
green_fr
green_fr

Category:

Оптимизация кода

Объяснил коллеге, зачем нужно преаллокация памяти. Понимаешь, говорю, если добавлять строчку за строчкой в матрицу, то каждый раз MatLab ищет новое место в памяти, копирует туда уже сделанную матрицу и дописывает новую строчку. А если ты сразу сказал ему, сколько у тебя будет строчек — он сразу столько выделил и ничего никуда не копирует.
Понял? Понял!

Сегодня просматриваю написанный им код. В одном месте ему нужна переменная, которую он запишет в Excel. Размер заранее посчитать нетривиально. Преаллокация на 500000 (пятьсот тысяч) строк, из которых реально заполняется две с чем-то тысячи. Команда записи этой матрицы в Excel рушит мой комп...
Tags: rabota, программирование
Subscribe

  • Pour la Science №525

    Отличная колонка о том, как правильно интерпретировать опросы «крутится ли Земля вокруг Солнца?», после которых обычно идёт волна комментариев…

  • Pour la science №524

    Короткая заметка про хищные грибы :-) Точнее даже, пишут о том, что такие грибы известны давно: они могут на несколько часов парализовать мелких…

  • Pour la Science №523

    Заметка о том, что археологи, раскапывая стоянки древних инуитов на Аляске, нашли венецианское стекло. Точнее бусинки, надетые на ниточку. Ниточка…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 28 comments

  • Pour la Science №525

    Отличная колонка о том, как правильно интерпретировать опросы «крутится ли Земля вокруг Солнца?», после которых обычно идёт волна комментариев…

  • Pour la science №524

    Короткая заметка про хищные грибы :-) Точнее даже, пишут о том, что такие грибы известны давно: они могут на несколько часов парализовать мелких…

  • Pour la Science №523

    Заметка о том, что археологи, раскапывая стоянки древних инуитов на Аляске, нашли венецианское стекло. Точнее бусинки, надетые на ниточку. Ниточка…