Доступен очередной релиз GNUstep Objective-C Runtime, свободной реализации библиотек Apple Cocoa и связанных с ними компонентов Mac OS X. Предыдущая версия вышла чуть более года назад. Это седьмой официальный релиз GNUstep Objective-C Runtime, на текущий момент поддерживается Objective-C 2.
Основные изменения:
- совместимость с новым runtime API, введенным в Mac OS X 10.7 / iOS 5;
- поддержка малых объектов (small object), на 32-разрядных системах разрешен 1 small object, на 64-разрядных - 4;
- поддержка prototype-stype ООП, вы можете добавлять методы и связанные ссылки к отдельным объектам и клонировать их. Реализована полная поддержка объектной модели JavaScript, включая возможность использования блоков в качестве методов на платформах x86, x86-64 и ARM;
- поддержка Apple-совместимых ojbc_msgSend() функций для x86, x86-64 и ARM. Использование их наполовину уменьшает стоимость операций отправки сообщений и уменьшает окончательный размер на 10%;
- реализована полная поддержка POSIX Makefiles, они используются по-умолчанию, если не установлен GNUstep Make;
- улучшения включают новые оптимизации для LLVM. Цикл на 200,000,000 class messages на Xeon 2.8GHz проходит за 0.8 секунды со всеми оптимизациями (включая speculative inlining). С -Os, тест проходится за 2 секунды. С принудительным IMP caching в исходном коде, тест проходится за 1.2 секунды. Для сравнения: тот же тест на GCC Objective-C runtime проходится за 11 секунд.
SVN-репозиторий: svn://svn.gna.org/svn/gnustep/libs/libobjc2/1.6
Тарболл
Новость на Phoronix
>>> Подробности