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

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

Date: 2018-01-17 10:14 am (UTC)
From: [identity profile] green-fr.livejournal.com
Этого я сам жду недождусь. Не по строчке, конечно, а какими-то разумными блоками, и чтобы в конце аккуратно обрезались неиспользованные строки.

Date: 2018-01-17 10:43 am (UTC)
From: [identity profile] birdwatcher.livejournal.com
А у тебя есть объяснение происходящему? В смысле, зачем в 2017 г. использовать для работы связку матлаб/эксел?

Date: 2018-01-17 01:09 pm (UTC)
From: [identity profile] green-fr.livejournal.com
У нас я знаю зачем - считаем всё в MatLab, а результаты потом рассылаем в Excel.

(проблема аллокации матриц при этом остаётся, даже если вычеркнуть Excel из связки)

Date: 2018-01-17 01:32 pm (UTC)
From: [identity profile] green-fr.livejournal.com
А что не так-то? Ты предполагал, что мы будет распечатывать результаты на бумаге и рассылать?

Date: 2018-01-17 01:50 pm (UTC)
From: [identity profile] birdwatcher.livejournal.com
Это отдельный интересный вопрос, в каком виде распространять таблицы, и зачем. Если для печати - наверно, это должен быть pdf. Если для динамического доступа на экране - наверное, вебсайт. Эксел, по-моему, не относится к полезным способам репрезентации чего бы то ни было.

Date: 2018-01-17 02:16 pm (UTC)
From: [identity profile] muh2.livejournal.com
Из моего опыта, если в воздухе пахнет деньгами - относится. Более того - становится основным.

Date: 2018-01-17 02:47 pm (UTC)
From: [identity profile] green-fr.livejournal.com
В данном конкретном случае - для того, чтобы передать этот Excel третьей программе, у которой есть кнопка "Load data from Excel file" :-)
Я думаю, тебе понравится тот факт, что эту программу нам поставила Еврокомиссия в рамках нового закона по контролю страховы компаний :-Р

Date: 2018-01-17 02:50 pm (UTC)
From: [identity profile] birdwatcher.livejournal.com
Ну вот, так бы и говорил.

Date: 2018-01-17 03:02 pm (UTC)
From: [identity profile] green-fr.livejournal.com
А если чуть серьёзнее - у нас есть, например, отслеживание в Excel каждой версии программы MatLab. Программа MatLab генерит какое-то невообразимое количество данных, но основные показатели можно вывести на одну страницу. Обычно да, её просто распечатывают. Но для отслеживания версий удобно её сохранять в отдельной закладке Excel, чтобы можно было сразу увидеть эволюцию каждого из отслеживаемых параметров с каждой версией программы. Удобная вещь.

Плюс, есть огромное количество людей, которым проще манипулировать данными именно в Excel - для них мы тоже результаты сводим в один файл и отсылаем. То есть это могут быть промежуточные данные, но продолжение рассчётов находится вне нашего отдела, а Excel - это такая lingua franca при общении на разных языках (у нас есть ещё один актуарный отдел, который считает в SAS, и третий на VB.NET).

Date: 2018-01-17 03:13 pm (UTC)
From: [identity profile] birdwatcher.livejournal.com
Жуткая кибернетическя антиутопия. Кто-то отправился в прошлое и наступил на бабочку, и теперь надо пользоваться SAS поверх .NET.

Profile

green_fr: (Default)
green_fr

May 2025

S M T W T F S
    1 23
4 5 678910
11 12 1314 15 1617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 11:40 am
Powered by Dreamwidth Studios