Допустим вы не мамонт, но вы же даже не написали куда донатить, чтобы увидеть реализации. Тем более что в заголовке у вас именно о реализациях и идет речь
у меня не было желания спорить, но точки с запятыми в выводе результат в поток — роли не играют конкретно в этом случае. Тем не менее, если посмотреть ОП-коды, да, запятые ведут к "эхо" для каждого аргумента переданному через запятую.
Вопрос в том, как себя memory_get_usage ведет. Ощущение такое, что первый вызов инициализирует счетчик, который дальше по коду переиспользуется. В случае присвоения — мы в переменной получаем результат до того как будет инициализирована переменная, а дальше получаем ту самую погрешность в 32 байта.
Жаль что у меня это только на уровне догадок, как уже выше писал, компетенций в СИ у меня малова-то чтобы свободно читать исходники php
типа:
<?php
$mem = memory_get_usage(); // запишем в новую переменную значение памяти без учета переменной
и
<?php
echo memory_get_usage(); // снача стартуем "счетчик" и выводим в поток
$mem = memory_get_usage(); // потом записываем значение... почему тут идет учет переменной, и есть загадка :)
Кстати, просто вызов функции в никуда — не помогает в приведении результата к 0. Так что буфер вывода вполне может быть одним из путей к верному ответу.
Видимо GPT на большее не способен. Тестить такую рутину не обязательно, если там всё обложено типами, ну разве что в погоне за процентом покрытия всего кода
С unset функции я тоже был не прав. Видимо тайна кроется в том где в коде будет вызвана memory_get_usage в первый раз. Если переместить определение переменной $baseMemory до определения функции, то в расчете будет 0.
Смотрю в исходники, но мало что понимаю, всё же в С у меня экспертизы недостаточно
PS: Это таки была функция. Если ее сделать анонимной и после использования удалить как и переменную, то потребление памяти сократится до того что было в самом начале
И вы снова играете в одни ворота. Приходя к таким борцунам за экологию я тоже хочу проводить анализ всех тех с кем меня свяжут узы трудового договора. Почему я должен о себе на каждом этапе собеседования рассказывать максимально искренне, а в ответ получаю компанию в виде котов в мешке? котов с которыми я познакомлюсь после подписания договора. Нет! Хотите играть в экологичность, играйте в обе стороны. Показывайте анкеты всех сотрудников с которыми, абстрактный, я буду работу работать! Я хочу принять обоснованное решение до подписания бумажек о том что эти вот «персонажи» мне подходят. Всецело и полностью.
И да, испытательный срок — работает в обе стороны, соискатель может уволиться по более короткому сроку потому что «нет, с ними мне не по пути», даже если те с кем общался на собеседованиях — полностью устраивали.
Какая-то корпоративная евгеника, а не экологичность…
Автор, а поясните вот такой момент.
Так делают все, когда знакомятся с новым человеком.
Лично я никогда не занимаюсь таким, ну разве что в редких случаях. Например я проверял рекрутера по соцсетям только 1 раз. Но суть вопроса в другом. Ваши методы это игра в одни ворота. Вы вытаскиваете всё дерьмо о соискателе во время поиска, а что в замен? Вы даете полные досье на себя, на тех к кому вы ищите нового сотрудника? Информацию о непосредственном руководителе, о коллегах в команде. Где гарантии что они экологичны для соискателя?
С обработкой персональных данных? Да, видел, задался вопросом, если оно теперь тут, можно как-то признать прошлые согласия недействительными досрочно?
А где и как это проверить?
Upd: вроде нашел. Там пусто, или есть вероятность что там пусто, а по факту сбор идет?
Допустим вы не мамонт, но вы же даже не написали куда донатить, чтобы увидеть реализации. Тем более что в заголовке у вас именно о реализациях и идет речь
Круто! Спасибо!
А в pycharm такой же функционал как на видео?
Xdebug это замечательно, но… всречный вопрос на ваш первый же вопрос в статье:
php -aЧем не подошел?https://www.php.net/manual/ru/features.commandline.interactive.php
Этот трэд можно продолжать до тех пор, пока сам трэд не станет полным по Тьюрингу, но есть ли в этом какой-либо практический смысл?)
Minecraft и Factorio тоже могут быть полными по Тьюрингу, но делает ли это их языками?
Arduinoэто разве язык? Там же плюсы с оберткой над низкоуровневыми и регистровыми конструкциями, читай фрэймворка
cmake? Это же тоже не яп, а система сборки.Почему бы не упомянуть xml, html, css, yaml, ini, json и toml, или эти "языки" автор не использовал?
Как-то я не заметил того момента, когда на хабре стало можно постить ссылки на варезные ресурсы.
В конце статьи )
А matter будет?
Лучше бы эти пользователи делом занялись. 9200 ученых могли бы придумать как утилизировать аккумуляторы, вместо сидения в соцсетях)
у меня не было желания спорить, но точки с запятыми в выводе результат в поток — роли не играют конкретно в этом случае. Тем не менее, если посмотреть ОП-коды, да, запятые ведут к "эхо" для каждого аргумента переданному через запятую.
https://3v4l.org/bZHPv - пример (который был выше) с точками
https://3v4l.org/6cU5f - тот же код, но с запятыми
В обоих случаях погрешность в 32 байта.
Вопрос в том, как себя
memory_get_usageведет. Ощущение такое, что первый вызов инициализирует счетчик, который дальше по коду переиспользуется. В случае присвоения — мы в переменной получаем результат до того как будет инициализирована переменная, а дальше получаем ту самую погрешность в 32 байта.Жаль что у меня это только на уровне догадок, как уже выше писал, компетенций в СИ у меня малова-то чтобы свободно читать исходники php
типа:
и
Кстати, просто вызов функции в никуда — не помогает в приведении результата к 0. Так что буфер вывода вполне может быть одним из путей к верному ответу.
Видимо GPT на большее не способен. Тестить такую рутину не обязательно, если там всё обложено типами, ну разве что в погоне за процентом покрытия всего кода
Запятые не играю роли, в исходном примере заменил printf() и запятые в echo:
Теперь меняем местами строку в которой инициализируем
$memи следующую, где выводим значениеmemory_get_usage()https://3v4l.org/bZHPv/vld — Пример где сначала инициализируем переменную
https://3v4l.org/039Fh/vld — Пример где сначала выводим значение
memory_get_usagehttps://www.diffchecker.com/Zn9rPop5/ — diff op'кодов
С
unsetфункции я тоже был не прав. Видимо тайна кроется в том где в коде будет вызванаmemory_get_usageв первый раз. Если переместить определение переменной$baseMemoryдо определения функции, то в расчете будет0.Смотрю в исходники, но мало что понимаю, всё же в С у меня экспертизы недостаточно
Переменная $baseMemory...
..., но был не прав и присоединяюсь к вопросу.
PS: Это таки была функция. Если ее сделать анонимной и после использования удалить как и переменную, то потребление памяти сократится до того что было в самом начале
И вы снова играете в одни ворота. Приходя к таким борцунам за экологию я тоже хочу проводить анализ всех тех с кем меня свяжут узы трудового договора. Почему я должен о себе на каждом этапе собеседования рассказывать максимально искренне, а в ответ получаю компанию в виде котов в мешке? котов с которыми я познакомлюсь после подписания договора. Нет! Хотите играть в экологичность, играйте в обе стороны. Показывайте анкеты всех сотрудников с которыми, абстрактный, я буду работу работать! Я хочу принять обоснованное решение до подписания бумажек о том что эти вот «персонажи» мне подходят. Всецело и полностью.
И да, испытательный срок — работает в обе стороны, соискатель может уволиться по более короткому сроку потому что «нет, с ними мне не по пути», даже если те с кем общался на собеседованиях — полностью устраивали.
Какая-то корпоративная евгеника, а не экологичность…
Автор, а поясните вот такой момент.
Лично я никогда не занимаюсь таким, ну разве что в редких случаях. Например я проверял рекрутера по соцсетям только 1 раз. Но суть вопроса в другом. Ваши методы это игра в одни ворота. Вы вытаскиваете всё дерьмо о соискателе во время поиска, а что в замен? Вы даете полные досье на себя, на тех к кому вы ищите нового сотрудника? Информацию о непосредственном руководителе, о коллегах в команде. Где гарантии что они экологичны для соискателя?