Асимптотика не важна, там timelimit секунда, а букв пара десятков.
Переставлюн проверю, вернусь. (вспомнить, как тот сервер поднимать еще). Спасибо за идею, клевая!
Про елочку - да, есть такие трюки, но тогда мы до них не догадались. Были только в начале пути :). Потом всплывали идеи, моржи и тупл точно был. Но этот сервер я не поднимал, поэтому не осталось логов. Вполне возможно, вы нашли решение лучше, чем мы даже обсуждали.
А кроме того, правила определения типа немного отличаются в шаблонах и для type_index. Например, std::type_index считает одинаковыми типы const int и int. И int& c int тоже.
Мы же хотим, например, явно разделять поведение, например, для выдачи константных ссылок и для копий объектов. Как только мы начнем использовать type_index с другими правилами нумерации типов - оно где-то стрельнет
Цветовая схема называется: "дизайнер посчитал что тема из IDE хорошо смотрится на мониторе, но будет плохо смотреться на экране, слегка упоролся, и руками перерисовал все цвета".
Более того, тот тест на метод gate::details::type_id::next() закомментирован в нашем коде, потому что тесты могут запускаться в разном порядке, и если тест для registry запустится раньше этого, то тест свалится.
Однако, этот индекс находится в неймспейсе details, соответственно, никогда не используется "напрямую". Индекс типа никуда не передается, нигде не сохраняется, эту функцию самостоятельно вообще не стоит дергать.
А если использовать в разных библиотеках не саму функцию, а только registry - он будет работать правильно. Да, он в каждом собраном объектнике будет ориентироваться на свое подмножество типов и индексацию, но каждый будет работать "верно". И все тесты для registry, в каком бы порядке они не были запущены, сработают верно. Индексация - только вспомогательный внутренний инструмент, который позволяет реализовать registry.
У меня есть исторические инсайды, которые мне позволяют сделать некоторые предположения. И мои предположения - вариация на тему пункта 2.
Но достоверно я ту историю не знаю, а любой мой ответ может быть трактован как "официальная позиция", поэтому спекулировать и рассказывать свои предположения я тут не буду.
Задайте этот вопрос Антону Полухину, он должен знать наверняка.
Официальный: генерация id от 0 до N, и создание id только для используемых типов, дает много возможностей для использования "разреженных массивов" вместо классических контейнеров. До самого страшного варианта - использовать массив вместо честного подсчета хеша от type_info, и сравнения строк.
Продолжаю бубнеть: все что я слышал о работе в гос учереждениях сводится к одной мудрости: фраза "это не входит в мои должностные обязанности" должна отпечататься на корке мозга, и быть первой заготовкой на любой запрос. Либо письменный приказ за подписью <...>, либо иди нафиг.
Тут очень полезна еще работа в сфере с высокими рисками. В банках например. Под статью подведут мигом, эникейщик которого попросили чиселку в базе поменять.
Очень много каких-то внутренних шуток, отсылок на междусобойчики во внутренних чатах, местами странный лексикон. Выглядит как коротенький дайджест "для своих", а не для обширной аудитории. Человеку со стороны читать откровенно сложно.
"бизнес заработал" вы имеете в виду выручку, а не саму прибыль.
Да, имею ввиду выручку.
Оборудование по умолчанию амортизируется 5 лет
Когда-то давно в ВУЗе нас учили, что 10. ¯\_(ツ)_/¯
Грубо говоря - покупкой станков вы увеличиваете капитал организации
Ура, эту мысль я и пытался донести. Я не сомневаюсь в вашей квалификации в подсчетах, знании умных аббревиатур и прочего.
Все что я пытался сделать - это донести намеренно упрощенным и утрированным примером, что отрицательная прибыль при определенных условиях может устраивать владельцев бизнеса. В моем примере это количество оборудования, в каком-нибудь убере могут жертвовать прибылью ради роста - присутствие в 76 странах вместо 30, в каком-нибудь ютубе - ради рекламных возможностей и политического влияния.
Считать можете как угодно: как бы вы не записали мой станок в РСБУ и НИИЧАВО и где-то еще, мое плебейское сознание видит, что раньше у меня было 200 тысяч, а теперь станок за миллион. Считайте меня убыточным, но довольным идиотом.
Там смотреть надо, что конкретно под прибылью считается.
Вот у меня есть мебельный бизнес, и на материалы и зарплаты я трачу миллион. А еще я в этом году купил новый автоматический сверлильный станок за миллион. Бизнес при этом заработал 1.8 млн.
Вот с точки зрения графиков у меня убыток в 200к, а с точки зрения инвестиций: у меня станок за миллион, а потерял я всего 0.2.
На следующий год мой бизнес, при тех же расходах, заработал уже 2.8 миллиона (станок ускоряет работу и уменьшает процент брака). Но я купил станок для автоматического покрытия шпоном за 1.5 млн, и новое малярное оборудование за 500к.
С точки зрения прибыли я опять -200к, а в моей голове, я приобрел оборудования на 3 ляма за 400 тыщ. Окей, включим сюда амортизацию и обслуживание - за 500 тыщ.
Ну и в чем проблема иметь отрицательную доходность, если я могу себе это позволить?
Там веселей бывает. В швейцарских филиалах нескольких мегакрупных компаний прошли сокращения. По статистике: 70% сокращенных уже наняли назад. Как правило в другие проекты и на чуть лучшие условия.
Банально - отчитались перед акционерами "мы оптимизируем", потом оценили объем задач (а их меньше не стало) и наняли достаточный штат для их выполнения: чтобы перед акционерами отчитаться, что все делают в срок.
Переставлюн не проходит:
Падает с таймаутом.
Все-таки асимптотика зарешала... Попробовал оба варианта. Я на всякий случай еще проверил загрузку проца - нет, честный таймаут.
Йолочка прошла
Во второй пришлось подправить: новый в цикле надо писать с маленькой, а год в последнем сообщении с большой.
Если поправить - проходит:
Круто!!! Спасибо за решения !
Асимптотика не важна, там timelimit секунда, а букв пара десятков.
Переставлюн проверю, вернусь. (вспомнить, как тот сервер поднимать еще). Спасибо за идею, клевая!
Про елочку - да, есть такие трюки, но тогда мы до них не догадались. Были только в начале пути :). Потом всплывали идеи, моржи и тупл точно был. Но этот сервер я не поднимал, поэтому не осталось логов. Вполне возможно, вы нашли решение лучше, чем мы даже обсуждали.
Параметры компиляции мы зафиксировали для соревнования, так не получится, увы
Ох. У нас тут в Казане на техтуре Java добавить просили. Не потому что коротко, просто интересно попробовать :)
Кстати, Java даже где-то в движке у нас прикопана, просто выключена.
Добавил фич реквест.
В теории добавить руби не сложно, но у нас нет людей, которые на нем задачи прорешивать бы могли.
А у меня одного ощущение, что статью нейросеть писала?
Она мне обычно так же отвечает: максимаььно общими фактами, с кратким содержанием своего ответа в конце.
Только эмоджи в тексте недостаточно.
А кроме того, правила определения типа немного отличаются в шаблонах и для type_index. Например, std::type_index считает одинаковыми типы const int и int. И int& c int тоже.
https://godbolt.org/z/r1WWsrcvd
Мы же хотим, например, явно разделять поведение, например, для выдачи константных ссылок и для копий объектов. Как только мы начнем использовать type_index с другими правилами нумерации типов - оно где-то стрельнет
Цветовая схема называется: "дизайнер посчитал что тема из IDE хорошо смотрится на мониторе, но будет плохо смотреться на экране, слегка упоролся, и руками перерисовал все цвета".
Это справедливое замечание.
Более того, тот тест на метод
gate::details::type_id::next()закомментирован в нашем коде, потому что тесты могут запускаться в разном порядке, и если тест дляregistryзапустится раньше этого, то тест свалится.Однако, этот индекс находится в неймспейсе
details, соответственно, никогда не используется "напрямую". Индекс типа никуда не передается, нигде не сохраняется, эту функцию самостоятельно вообще не стоит дергать.А если использовать в разных библиотеках не саму функцию, а только
registry- он будет работать правильно. Да, он в каждом собраном объектнике будет ориентироваться на свое подмножество типов и индексацию, но каждый будет работать "верно". И все тесты дляregistry, в каком бы порядке они не были запущены, сработают верно. Индексация - только вспомогательный внутренний инструмент, который позволяет реализоватьregistry.Правильный ответ - "Я не знаю".
У меня есть исторические инсайды, которые мне позволяют сделать некоторые предположения. И мои предположения - вариация на тему пункта 2.
Но достоверно я ту историю не знаю, а любой мой ответ может быть трактован как "официальная позиция", поэтому спекулировать и рассказывать свои предположения я тут не буду.
Задайте этот вопрос Антону Полухину, он должен знать наверняка.
Абсолютно верно. Красава.
(хотя я в ответе ожидал услышать, что вернется в случае, если указать
auto)Ну, есть два ответа: официальный и неофициальный.
Официальный: генерация id от 0 до N, и создание id только для используемых типов, дает много возможностей для использования "разреженных массивов" вместо классических контейнеров. До самого страшного варианта - использовать массив вместо честного подсчета хеша от type_info, и сравнения строк.
Неофициальный: потому что это клево.
Я сам периодически думаю, что не тем занимаюсь. Но в бОльших масштабах.
Мне, после таких историй, зачастую хочется переквалифицироваться в "пекаря маковых рогаликов", и не видеть клавиатуры совсем.
А сменить С++ на интерпретируемый язык - это полумера :)
Продолжаю бубнеть: все что я слышал о работе в гос учереждениях сводится к одной мудрости: фраза "это не входит в мои должностные обязанности" должна отпечататься на корке мозга, и быть первой заготовкой на любой запрос. Либо письменный приказ за подписью <...>, либо иди нафиг.
Тут очень полезна еще работа в сфере с высокими рисками. В банках например. Под статью подведут мигом, эникейщик которого попросили чиселку в базе поменять.
В магистратуре дела пошли совсем нехорошо, а работу на тот момент в большом городе найти не удалось.Вот тут у меня уже диссонанс.
Сам еще третий курс не успел закончить, как меня позвали работать. Схантили прямо на экзамене в ВУЗе.
На четвертом курсе работало 70% сокурсников, на первом курсе магистратуры - все. Почти все таки или иначе по специальности.
Насколько все должно быть плохо, чтобы не найти работу?
Оставлю комментарий о том, как мне понравилась статья, идея, и активность вцелом. Автор, ты - молодец!
Очень много каких-то внутренних шуток, отсылок на междусобойчики во внутренних чатах, местами странный лексикон.
Выглядит как коротенький дайджест "для своих", а не для обширной аудитории. Человеку со стороны читать откровенно сложно.
Да, имею ввиду выручку.
Когда-то давно в ВУЗе нас учили, что 10. ¯\_(ツ)_/¯
Ура, эту мысль я и пытался донести. Я не сомневаюсь в вашей квалификации в подсчетах, знании умных аббревиатур и прочего.
Все что я пытался сделать - это донести намеренно упрощенным и утрированным примером, что отрицательная прибыль при определенных условиях может устраивать владельцев бизнеса. В моем примере это количество оборудования, в каком-нибудь убере могут жертвовать прибылью ради роста - присутствие в 76 странах вместо 30, в каком-нибудь ютубе - ради рекламных возможностей и политического влияния.
Считать можете как угодно: как бы вы не записали мой станок в РСБУ и НИИЧАВО и где-то еще, мое плебейское сознание видит, что раньше у меня было 200 тысяч, а теперь станок за миллион. Считайте меня убыточным, но довольным идиотом.
Там смотреть надо, что конкретно под прибылью считается.
Вот у меня есть мебельный бизнес, и на материалы и зарплаты я трачу миллион. А еще я в этом году купил новый автоматический сверлильный станок за миллион. Бизнес при этом заработал 1.8 млн.
Вот с точки зрения графиков у меня убыток в 200к, а с точки зрения инвестиций: у меня станок за миллион, а потерял я всего 0.2.
На следующий год мой бизнес, при тех же расходах, заработал уже 2.8 миллиона (станок ускоряет работу и уменьшает процент брака). Но я купил станок для автоматического покрытия шпоном за 1.5 млн, и новое малярное оборудование за 500к.
С точки зрения прибыли я опять -200к, а в моей голове, я приобрел оборудования на 3 ляма за 400 тыщ. Окей, включим сюда амортизацию и обслуживание - за 500 тыщ.
Ну и в чем проблема иметь отрицательную доходность, если я могу себе это позволить?
Там веселей бывает. В швейцарских филиалах нескольких мегакрупных компаний прошли сокращения. По статистике: 70% сокращенных уже наняли назад. Как правило в другие проекты и на чуть лучшие условия.
Банально - отчитались перед акционерами "мы оптимизируем", потом оценили объем задач (а их меньше не стало) и наняли достаточный штат для их выполнения: чтобы перед акционерами отчитаться, что все делают в срок.
Большой бизнес ¯\_(ツ)_/¯