Линус утверждает [12], что порядка условных байт хуже, чем глупый.Почему условный порядок байтов плохой?
Первое, что приходит мне на ум, - это ZFS, но наверняка должны быть и другие примеры.
Он писал:
Единственной вменяемая модели указать один фиксированный порядок байт. Шутки в сторону. Это в равной степени портативный, он генерирует лучший код - даже на архитектур, которые затем должны безоговорочно выполнять байтовый порядок подкачки - и это проще добавить статические проверки типа для т.д.. Это в буквальном смысле меньше коды и быстрее сделать «BSWAP» инструкцию, чем сделать условный тест некоторой переменной (даже если вы можете избежать BSWAP динамически)
Я думаю, что условный порядок байт может генерировать более длинный код, но он должен быть быстрее на машинах, которые используют один и тот же порядок байтов. Похоже, что большинство его взглядов посвящено эстетике кода. Я не эксперт, поэтому я хотел бы получить более подробное объяснение его пунктов.
Конечно, дайте разработчикам процессоров сесть и согласиться, чей порядок байтов будет стандартным. Попробуйте то же самое с сообществом разработчиков. –
У Линуса есть точка.Условные инструкции имеют умение вызывать конвейеры и такие вещи. –
@EricJ., Аргумент Линуса состоит в том, что порядок байтов должен быть фиксированной характеристикой протокола или формата, в отличие от переменной характеристики, описываемой метаданными. * Который * заказ выбран гораздо менее важен, или так он утверждает, поэтому он отклоняет различия между порядками нативного байта до вторичного рассмотрения, если это так. –