X32 ABI
- 1 year ago
- 0
- 0
x32 ABI — находящийся в стадии разработки проект двоичного интерфейса приложений для Linux , который позволяет компилировать программы для x32 ABI и работать в 64-разрядном режиме x86-64 с использованием 32-битных указателей и полей данных . Хотя это ограничивает виртуальное адресное пространство программы максимумом в 4 Гб, это также уменьшает объём памяти, занимаемой программами, а в некоторых случаях может позволить им работать быстрее . Лучшие результаты во время тестирования были получены в тесте 181.mcf SPEC CPU 2000, для которого результат x32 версии ABI оказался на 32 % быстрее, чем для x86-64 версии . Иными словами, x32 ABI удобен для программ, использующих не более 4 Гб виртуальной памяти.
Несколько человек обсуждали преимущества x86-64 ABI с 32-битными указателями после выпуска Athlon 64 в 2003 году (в частности, Дональд Кнут в 2008 году ). Затем был малозаметный публично прогресс реализации такого режима до 27 августа 2011 года, когда H. Peter Anvin объявил в списке рассылки ядра Linux, что он и HJ Lu работали над x32-ABI .
В тот же день Линус Торвальдс выразил обеспокоенность тем, что использование 32-разрядного значения времени в x32 ABI может привести к проблемам в будущем . Это потому, что использование 32-разрядного значения времени приведёт к переполнению значения времени в 2038 году . Разработчики x32 ABI планируют изменить значения времени на 64-битные .
x32 ABI вошёл в релиз ядра Linux 3.4.
На декабрь 2018 года x32 ABI считался устаревшим и готовился к полному удалению поддержки из ядра linux.