6.2.1. Определения
Директ-костинг — это подсистема управленческого (производственного) учета, основанная на классификации затрат на переменные-постоянные в зависимости от изменения объемов производства и учете себестоимости для целей управления только по переменным затратам.
Переменные (условно-переменные) затраты — в промышленности затраты на производство и реализацию продукции, изменяющиеся пропорционально количеству выпущенной продукции (затраты технологические на сырье, материалы, топливо, энергию, сдельная оплата труда и соответствующая ей доля единого социального налога (ЕСН), часть транспортных и косвенных расходов).
Постоянные (условно-постоянные) затраты — в промышленности затраты на производство и реализацию продукции, не имеющие пропорциональной связи с количеством выпущенной продукции и сохраняющие относительно постоянную величину в планируемый период (повременная оплата труда и соответствующая ей доля ЕСН, часть расходов по обслуживанию и управлению производством, налоги и отчисления во внебюджетные фонды и другие).
Сумма постоянных расходов за определенное время не изменяется пропорционально изменению объема производства. Если объем производства увеличивается, то сумма постоянных расходов на единицу продукции уменьшается, и наоборот. Но постоянные расходы не являются абсолютно неизменными. Например, затраты на охрану относятся к категории постоянных, но сумма этих расходов может увеличиться, если администрация учреждения сочтет необходимым повысить зарплату работникам охраны. Она может и уменьшиться, если администрация закупит такие технические средства, которые дадут возможность уменьшить персонал охраны, и экономия заработной платы этого персонала перекроет расходы на приобретение этих новых технических средств.
Некоторые виды затрат могут включать элементы постоянных и переменных затрат. Примером таких расходов могут быть телефонные расходы, которые включают постоянную слагаемую в виде оплаты за междугородние и международные телефонные переговоры, которые изменяются в зависимости от продолжительности междугородних и международных телефонных переговоров, их срочности и т. д.
Одни и те же виды затрат могут быть отнесены к постоянным и переменным в зависимости от конкретных условий. Например, общая сумма затрат на ремонт может оставаться постоянной при росте объемов производства, она может и увеличиваться, если рост производства потребует установки дополнительного оборудования. Эта сумма может оставаться неизменной при сокращении объемов производства, если не предполагается сокращение парка оборудования.
Директ-костинг на практике используется как самостоятельная система.
Существуют две модификации системы директ-костинга в промышленности:
— простой директ-костинг;
— развитой директ-костинг.
При простом директ-костинге к переменным затратам относят прямые материальные затраты. Все остальные затраты считаются постоянными и относятся суммарно на комплексные счета, а затем по итогам периода исключаются из совокупного дохода (так называемого маржинального дохода).
При развитом директ-костинге к условно-переменным затратам, помимо прямых материальных, относятся также в некоторых случаях переменные косвенные расходы и часть постоянных затрат, зависящих от коэффициента использования производственных мощностей.
Переменная себестоимость — себестоимость произведенной (реализованной) продукции, включающая только переменные затраты.
Маржинальный доход — доход от реализации произведенной продукции, исчисленный как разница между стоимостью реализованной продукции (выручкой от реализации) и переменной себестоимостью.
Управленческий (производственный) учет — управление экономической деятельностью предприятия на основе информационной системы, отражающей все затраты использованных ресурсов.
На первом этапе внедрения системы директ-костинга на предприятиях используется простой директ-костинг.
Открыть эту статью в PDF
Определение переменных и постоянных затратПеременные затраты (variable costs) — затраты, величина которых прямо пропорциональная объему производства, они меняются в зависимости от объема выпуска продукции. Чаще всего при обсуждении переменных затрат имеют в виду затраты на материалы и комплектующие, а также транзакционные издержки, связанные с продажей, хотя в принципе перечень переменных затрат может быть шире.
Постоянные затраты (fixed costs) — затраты, величина которых не зависит от объема выпуска продукции. Это могут быть общие затраты на содержание производства и администрации, а также другие виды расходов, не связанные напрямую с объемом выпуском продукции.
Несмотря на то, что определение переменных и постоянных затрат выглядит довольно просто, тонкости разделения затрат лежат в основе многих методов управленческого учета, финансового и стратегического анализа, поэтому на практике встречаются очень разные определения и подходы к расчету этих затрат.
Для правильного применения переменных и постоянных затрат важно учитывать, что описанные ниже варианты разделения затрат не являются точным аналогом переменных/постоянных затрат и могут в очень разной степени совпадать или расходиться с ними:
Примеры переменных затрат
Типичные статьи переменных затрат:
В моделях управленческого учета и прогнозирования к переменным затратам следует относить такие, которые будут меняться с изменением планируемого объема производства. В результате, одна и та же статья затрат может быть постоянной в одной модели, но станет переменной в другой, если во втором случае у компании есть возможность оперативно менять величину расходов с изменением объема производства.
Примеры постоянных затрат
К постоянным затратам относят, например:
Не всегда можно точно сказать, затраты переменные или постоянные. Например, есть статьи затрат, которые не меняются с каждой единицей произведенной продукции, но зависят от общего уровня производства.
Себестоимость: сложности расчета и применения
В экономическом анализе деятельности компании часто встречается понятие себестоимости единицы продукции, то есть суммарные затраты на единицу. При моделировании и анализе бизнеса важно не путать себестоимость и переменные затраты.
Пример:
Компания планирует создать производство, которое потребует постоянных расходов на сумму 2 000 000 в квартал. Производственные мощности позволяют выпускать на этом оборудовании 1 000 единиц продукции в квартал, при этом ее цена составляет 5 000, а переменные затраты — 2 000.
Для полной загрузки производства себестоимость составит 4 000. Но если использовать эту цифру в планировании без разделения на постоянные и переменные расходы, то можно получить такие ошибки:
Очевидно, что во втором варианте расчет валовой прибыли будет неправильным для всех кварталов, где загрузка производства окажется менее 100%. Это может вносить серьезные искажения в анализ.
Анализ безубыточности
Деление затрат на переменные и постоянные применяют, например, в анализе безубыточности и построении соответствующего графика. Подробнее об этом рассказываем в статье Точка безубыточности.
МногопоточностьСпросил
Изменено 11 лет назад
Просмотрено 2k раз
4
Новинка! Сохраняйте вопросы или ответы и организуйте свой любимый контент.
Узнать больше.
Предположим, что на рассматриваемой машине доступны неиспользуемые ресурсы выполнения, т. е. не все процессоры используются. Если поток ожидает переменной условия, каковы затраты, связанные с пробуждением этого потока? Точно так же, каковы затраты, связанные с ожиданием условной переменной? Меня интересует как грубая количественная оценка, так и источник затрат. В той степени, в которой ответ «это зависит», меня в первую очередь интересуют последние версии Windows и Linux на x86/x64.
Редактировать: Поскольку задействованы вызовы ядра, насколько дороже вызов ядра, чем вызов обычной функции?
3
Я не знаю подробностей о реализации pthreads или D, но в общих чертах в лучшем случае накладные расходы для условной переменной — это один дополнительный вызов ядра и возможное переключение контекста.
Типичная реализация — это просто оболочка вокруг событий и мьютексов, поэтому накладные расходы и тайминги можно характеризовать поведением этих объектов ядра. При ожидании поток отказывается от остатка своего запланированного кванта времени, а при пробуждении поток назначается ядром и получает следующий доступный квант времени в зависимости от его приоритета. Это сильно зависит от нагрузки и конфигурации ядра, но обычно занимает несколько миллисекунд.
Для условной переменной возникает дополнительная задача повторного захвата мьютекса, который, конечно, может заблокировать. Если он не блокируется, то это все еще вызов ядра. В конечном итоге это может быть оптимизировано до нескольких атомарных инструкций ЦП, которые очень быстры по сравнению с ними, но ограничены одним процессом. [ed: CRITICAL_SECTION в Win32 или futex в Linux, например.]
В худшем случае переменная условия срабатывает ложно, и поток пробуждается только для того, чтобы обнаружить, что делать нечего, но обычно это составляет незначительную часть общих накладных расходов.
1
Это связано с вашим вопросом, хотя я не думаю, что это тот ответ, который вы ищете.
Мы сравнили сигналы с мьютексами/условиями, чтобы увидеть, какой из методов быстрее засыпает и пробуждает поток. Для сигналов мы использовали sigwait() для приостановки и pthread_kill для пробуждения. Для мьютекса/условия мы использовали один мьютекс и одно условие для каждого потока. Мы обнаружили, что можем засыпать и пробуждать потоки в 5 раз быстрее, используя сигналы.
Мы не тестировали фьютексы.
Чтобы ответить на ваш последний вопрос:
Поскольку задействованы вызовы ядра, насколько дороже вызов ядра, чем вызов обычной функции?
Да, примерно в 1000 раз дороже.
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Электронная почта
Обязательно, но не отображается
Электронная почта
Требуется, но не отображается
Спросил
Изменено 1 год, 10 месяцев назад
Просмотрено 88 раз
-2
Новинка! Сохраняйте вопросы или ответы и организуйте свой любимый контент.
Узнать больше.
Я столкнулся со следующей ситуацией и запутался в выборе наилучшего подхода в таком случае:
подход 1
foo(x){ если (х === не определено) { х = 0; } //другие вещи }
Предположим, что нет проблем с установкой x = 0 без проверки его значения. В этом случае я думаю, что лучше и не слишком дорого установить x вместо проверки его значения с помощью блока if
. По этой причине, можем ли мы сказать, что (если нет проблем с установкой значения x на этом этапе), лучше установить его значение напрямую, так как его временная сложность меньше, чем блок кодирования (в каждом случае его значение будет установлено и нет никакой разницы между использованием памяти в этих условиях).
подход 2
foo(x){ х = 0; //другие вещи }
9
Временная сложность для обоих подходов одинакова.
Временная сложность зависит от размера входных данных. По мере увеличения размера входных данных увеличивается временная сложность.
Ни подход 1, ни подход 2 не изменятся в зависимости от размера входных данных, поэтому они оба равны O(1). Оператор if выполняет простое сравнение, которое всегда равно O(1).
Таким образом, по большому счету, они оба O(1), и разница будет настолько минимальной, что вы никогда не заметите.
Я чувствую, что вы не понимаете, что такое временная сложность.
Все, что вы здесь упомянули, имеет эквивалентную временную сложность. Рассмотрим два следующих фрагмента кода:
int x = 0;
и этот
int y = 0; для (целое я = 0; я < 1_000_000_000; я ++) { у += я; } интервал х = у;
Одно явно занимает больше времени, чем другое - сложение миллиарда различных чисел занимает ДОЛГОЕ время по сравнению с ним. Однако они имеют одинаковую временную сложность, а именно постоянное время. То есть ввод не изменит время, необходимое для запуска.
Об авторе