LINUX.ORG.RU

gettimeofday()

 gettimeofday,


0

3

Почему она так называется? Никакого «time of day» (часы:минуты:секунды) она очевидно не отдаёт.

Перемещено hobbit из talks

★★★★★

Последнее исправление: firkax (всего исправлений: 1)

crypt(3) создаёт необратимый хэш, а не обратимо зашифрованные данные

В целом, других вводящих в заблуждение имён я не могу найти.

kaldeon ★★
()
Последнее исправление: kaldeon (всего исправлений: 2)

Предполагаю, что хотели названия функций, которые друг с другом сильно не смешиваются. Если бы называлось gettime(), то было бы слишком близко к time().

Ну и вообще оно deprecated, зачем стюардессу откопал?

Bfgeshka ★★★★★
()
Ответ на: комментарий от Bfgeshka

то было бы слишком близко к time()

Так оно и есть близко к time, отличие только в том что микросекунды ещё возвращает, и когда-то использовался для узнавания таймзоны.

Ну и вообще оно deprecated, зачем стюардессу откопал?

Что за ерунда? Во-первых, в плане истории названия это в любом случае несущественно. Во-вторых, эти ярлыки почти всегда ничего не значат. chroot() вот тоже deprecated по мнению некоторых стандартов и пофиг. А clock_gettime() не везде есть (в фрибсд меньше 3.0 версии не было например).

firkax ★★★★★
() автор топика
Последнее исправление: firkax (всего исправлений: 3)

Почему она так называется?

Потому что тот, кто её первым написал в дремучих юниксах, её так назвал.

Залезть к нему в голову, а тем более узнать не что он об этом думает сегодня, а что происходило в его мозгу тогда, ЛОРу не под силу.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от yorshka

Нет, с этими названиями как раз всё и так понятно и у меня к ним вопросов нет.

firkax ★★★★★
() автор топика
Ответ на: комментарий от yorshka

У некоторых ЛОРовцев его и не было никогда. Я пару раз обжёгся, так с некоторых пор начал приписывать «Шутка юмора» в нетривиальных случаях, во избежание, так сказать.

VIT ★★★
()

Моя ЛЛМ говорит, что появилась она в 1983 году в BSD-4.3 и в отличие от аппаратного таймера возвращала системную структуру timeofday, что и отражено в названии. Была и компаньон-функция settimeofday.

VIT ★★★
()
Последнее исправление: VIT (всего исправлений: 2)
Ответ на: комментарий от VIT

Я вчера чуть не час разговаривал с разными ЛЛМ про это. Из особо запомнившегося - (1) в IBM s390 прям такая железка, которая так и называется TOD clock, (2) особо крутые системные перцы так и декларируют такие функции, как gettod().

Т.е. я так понял «time of day» (оно же «tod») это такой концептуальный термин. Бытовое понимание «время суток» сбивает с толку только людей, которые не в теме )

Toxo2 ★★★★★
()
Последнее исправление: Toxo2 (всего исправлений: 1)
Ответ на: комментарий от Toxo2

Интересно, что моя LLM прямо противопоставляет железку TOD, ну или аппаратно реализованный таймер RTC - real time clock, говоря, что это то же самое, программно реализованной TOD, которая есть часть операционной системы, и что самое интересное, она утверждает, что эти две концепции независимы. То есть программная TOD не использует аппаратную TOD. Причём причина появления программной TOD - слишком высокая цена доступа к аппаратной. То есть читать аппаратный TOD слишком медленно, вот и появилась программная независимая реализация, читать которую быстро. Чудеса да и только.

VIT ★★★
()
Ответ на: комментарий от VIT

То, что системный таймер работает (и всегда работал) независимо от RTC на PC-совместимых платформах - общеизвестный факт. Вполне вероятно, что на древнем железе была аналогичная история, однако см. ниже. settimeofday есть и сейчас.

А вот угадывать, что из остального ллм нагаллюцинировало, а что скопипастило из реальных источников - затея неблагодарная.

firkax ★★★★★
() автор топика
Ответ на: удаленный комментарий

https://dictionary.cambridge.org/dictionary/english/mount

"to get on a horse, bicycle, etc. in order to ride"

дебил.

a mountain or hill, used as part of a name
used as part of a name
as part of a name
a name
a name

Прекрати царапать своим айсикью паркет.

Забанься

Мне ещё 8 очков экспы до этой ачивки.

r--r--r--
()

какому-нибудь Кену Томпсону годах в 80-х взбрело в голову так назвать эту функцию, ну и вот, так она и осталась. Потом еще и в стандарты попала.

Ее кстати выпилили из свежего POSIX, кто ее до сих пор использует - тех с новым годом.

Вообще я сейчас читаю, это типа чтобы избежать путаницы с процессорным временем. Если бы было просто gettime, то было бы не понятно, какое время имеется ввиду.

Lrrr ★★★★★
()
Последнее исправление: Lrrr (всего исправлений: 1)
Ответ на: комментарий от Lrrr

Есть функция time() - с ней всё понятно? gettimeofday() возвращает точно то же самое время, но с точностью микросекунд (time - секунды).

Ее кстати выпилили из свежего POSIX, кто ее до сих пор использует - тех с новым годом.

Если нужно монотонное время (не реальное т.е.) то clock_gettime(CLOCK_MONOTONIC). Если же нужно реальное, и с точностью лучше чем секунды, то gettimeofday() - максимально совместимый между разными юниксами способ его узнать, буду и дальше использовать для этой цели её. И ниоткуда, кроме бумажек, её никогда не выпилят.

firkax ★★★★★
() автор топика
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от r--r--r--

«to get on a horse, bicycle, etc. in order to ride»

Аутисты-анальники открывают для себя удивительный мир, в котором одно слово может иметь несколько значений.

P.S.

@hobbit

«Забанься, дебил» – это не оскорбление. Это часть неотъемлемая ЛОРовского сленга. Например: https://www.linux.org.ru/search.jsp?q=%D0%B7%D0%B0%D0%B1%D0%B0%D0%BD%D1%8C%D1%81%D1%8F%2C+%D0%B4%D0%B5%D0%B1%D0%B8%D0%BB&range=ALL&interval=ALL&user=&_usertopic=on

yorshka
()
Ответ на: комментарий от yorshka

часть неотъемлемая ЛОРовского сленга

А теперь вылезь из криокамеры отсортируй свой поиск по времени и посмотри, как часто и в каких контекстах эта «часть сленга» упоминается последние несколько лет. Либо это просто отсылка, либо случайно просочившееся и не замеченное модераторами оскорбление.

Когда-то на ЛОРе и открытый мат считался «частью сленга», да.

hobbit ★★★★★
()

Почему она так называется? Никакого «time of day» (часы:минуты:секунды) она очевидно не отдаёт.

Историческая причина названия (главный ответ) В раннем Unix (системы V и BSD) было две категории времени:

Process time (время процесса) — сколько процессорного времени съела ваша программа. Её возвращали функции times() или clock(). Это секунды работы CPU.

Wall-clock time (время настенных часов) — то, что показывают часы в реальном мире.

Функция gettimeofday() была введена в BSD, чтобы отличать её от старой time(). Она возвращала именно Wall-clock time (реальное календарное время), в отличие от таймеров наработки процессора. В сленге системных программистов Wall-clock time — это и есть «Time of Day» (время суток), потому что вы сверяетесь с ним, чтобы узнать, который сейчас час на планете.

gagarin0
()
Ответ на: комментарий от Jullyfish

Ну так-то понятно, что выхлоп ИИ, но вообще он пересказывает информацию из:

https://man.openbsd.org/settimeofday.2

https://man.openbsd.org/time.3

Там, в частности, раздел HISTORY есть.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

С помощью модераторов. Ну то есть если в правилах нейрослоп не запрещён то его дефолтно везде не удаляют, а если в такой теме жалоба поступила - удаляем с -7 «вверху же указано предупреждение».

firkax ★★★★★
() автор топика
Ответ на: комментарий от gagarin0

Как вы заметили, спрашивающему не нужен ответ. Он хочет показать свою исключительность. Зачем отвечать?

VIT ★★★
()
Ответ на: комментарий от hobbit

Конечно, да, модераторская политика совсем никак не влияет на посещаемость сайта и удержание пользователей на нём. Особенно когда многие известные пользователи громко хлопнули дверью из-за несогласия с этой самой модераторской политикой. Сколько пользователей просто по-тихому из-за неё же (или из-за того, что их любимых ораторов забанили) перестали сюда заходить, статистика умалчивает.

В общем-то, в этом и заключается одна из причин, почему социальные сети цветут и пахнут, а форумы вроде вот этого постепенно загибаются: если я в твиттере напишу какой-нибудь одиозному персонажу фразу «забанься, дебил», мой пост никто не сотрёт и с моим аккаунтом ничего не случится.

yorshka
()
Ответ на: комментарий от firkax

Оне не только unix epoch возвращала, но и timezone. В 4.2BSD «struct timezone» не были просто так, они содержали зону и правило перехода на летнее время. И эта структура использовалась для перевевода unix time в локальное время (которое часы на стене показыают). Это у нас «летнее время», а у них daylight saving, возможно, для них «time of day» перекликается с daylight.

А ещё, есть такое https://www.merriam-webster.com/dictionary/time of day - это толковый словарь, а не нейрослоп. «time of date» может означать не показания часов, а «настоящее время» (the present time/the true situation), то есть функцию назвали так, что она типа показывает не какое-то там время, как time() с точностью 1 секунда, а вот вобще «настоящее», так как микросекунды.

mky ★★★★★
()
Ответ на: комментарий от mky

timezone оно и сейчас может вроде возвращать, если ему не NULL туда дать. Но всё-таки «вот тебе таймзона, сооруди с её помощью бытовое время» и вернуть это самое время в готовом виде - это разные штуки. Время в таком виде делает localtime() и gmtime().

А вот второе значение time of day из толкового словаря уже больше походит на причину. Я про него не знал.

firkax ★★★★★
() автор топика
Ответ на: комментарий от firkax

Я тут ещё немного поковырял. Если смотреть исходники 4.3BSD, то там очень много раз встречается VAX, видимо, основная машина, под которую её писали. А во всех источниках повторяется про аппаратные часы VAX:

The VAX hardware clock is called the TOY («Time Of Year») clock. The register associated with the clock is called the TODR («Time Of Day Register»)

То есть там часы были один 32 битный регистр, названный «time of day», который раз в 10 мс инкрементировался (переполнение через 497 дней). Получается, нужно лезть в голову не разработчикам 4BSD, а разработчикам VAX, почему они так назвали регистр.

mky ★★★★★
()
Ответ на: комментарий от mky

Да что лезть, в толковом словаре ж уже выяснили что англичане словами time of day иногда таймстампы в быту называют. Но связь с часами VAX тут под вопросом, потому что unixtime же раз в 497 дней не переполняется.

firkax ★★★★★
() автор топика
Ответ на: комментарий от yorshka

mount не имеет отношения к горам

«to get on a horse, bicycle, etc. in order to ride»

Аутисты-анальники открывают для себя удивительный мир, в котором одно слово может иметь несколько значений.

Как ты себя приложил-то. Не убивайся ты так - незнание школьного англюсика норма тут на лоре. Ты не одинок в этом.

r--r--r--
()
Последнее исправление: r--r--r-- (всего исправлений: 1)
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария