войти зарегистрироваться

Разработка под Apple iOSУменьшаем размер своего iOS приложения из песочницы

Хочу поделиться способом, который позволит сэкономить несколько мегабайт «лишнего» веса в вашем iOS приложении. Зачем это может понадобиться? Во-первых, если ваше приложение чуть больше 20 Мб, то его нельзя будет скачать по 3G, а только используя Wi-Fi или синхронизацию c iTunes (ограничение со стороны Apple). Ну, а во-вторых, если вы любите все оптимизировать или просто хотите чуть-чуть сократить время загрузки вашего апа.
Все нижеперечисленные пункты я проверял и использовал в своем апе, сэкономив суммарно около 4 Мб. Кажется не очень то и много, но если, например, умножить на 5000 тысяч загрузок в день, то уже получим около 20 Гб сэкономленного трафика. Итак, приступим.

nVidia CUDANvidia открыла исходный код компилятора CUDA

Nvidia открыла исходный код нового компилятора CUDA на базе LLVM. Сорцы не раздаются направо и налево, а доступны только для «квалифицированных исследователей и разработчиков». Для их получения нужно зарегистрироваться, заполнить форму и указать, для каких проектов вы намерены применять компилятор. Так что пока непонятно, под какой лицензией опубликован компилятор и вообще — свободная ли это лицензия. В пресс-релизе компания намекает на более открытый доступ к исходникам в будущем.



С помощью компилятора и нового CUDA Toolkit 4.1 можно будет приспособить платформу GPGPU для других архитектур и процессоров, в том числе AMD GPU и x86 CPU, а также создавать гетерогенные суперкомпьютерные системы.

КомпиляторыLLVM 3.0 Release

1 декабря состоялся релиз LLVM 3.0 (Low Level Virtual Machine) — «инфраструктуры для компиляторов», которая генерирует платформонезависимый оптимизированный байткод низкого уровня (см. обзор на Хабре). LLVM используется в том числе в официальных средствах разработки для Mac OS X и iOS.

С момента выхода LLVM 2.9 прошло шесть месяцев, новшеств довольно много, в том числе новый «жадный» аллокатор регистров. Он применяет интересные способы оптимизации и способен значительно улучшить производительность кода.

JavaScriptH.264 декодер на JavaScript

Прежде чем отправить публикацию, крепко задумался, какой блог выбрать: JavaScript или Ненормальное программирование. Так или иначе круг задач, которые можно решить на детище Нетскейпа расширяется с каждым днем.

Так например разработчики из команды Mozilla смеха ради сделали H.264 декодер на JavaScript. Любопытно, что скрипт при этом не был написан вручную.

Разработка под Apple iOSОбзор нововведений в Xcode 4.2 для iOS-разработчика

Одновременно с релизом iOS5 разработчики получили в свое распоряжение обновленный Xcode 4.2, в котором ожидаемо обнаружились некоторые новые «фичи». Под катом кратко рассмотрим основные нововведения, представленные в XCode 4.2.

Разработка под Apple iOSAutomatic Reference Counting: часть 1

Здравствуйте, коллеги.

Давно читаю блоги и статьи зарубежных разработчиков под iOS. И на днях попалась любопытная, довольно подробная статья об Automatic Reference Counting от разработчика по имени Mike Ash.
Статья довольно большая, потому перевод, сделанный мною, рискну разбить на несколько частей. Надеюсь, что уложусь в 2 части.

Информационная безопасностьВиртуальная машина KLEE для символьного выполнения кода

В этом посте мы попробуем применить технику символьного выполнения на примере символьной ВМ KLEE для решения простого ASCII-лабиринта. Как вы думаете, сколько верных решений мы сможем найти?

КомпиляторыСоздание языка программирования с использованием LLVM. Часть 4: Добавление JIT и поддержки оптимизатора

Добро пожаловать в Главу 4 учебника «Создание языка программирования с LLVM». Предыдущие главы (1-я, 2-я и 3-я) описывали реализацию простейшего языка программирования и добавление в него ​​поддержки генерации LLVM IR. В этой главе описаны две новых техники: добавление поддержки оптимизатора и добавление поддержки JIT-компилятора. Эти дополнения продемонстрируют как получить хороший, эффективный код для нашего языка программирования Kaleidoscope.

КомпиляторыСоздание языка программирования с использованием LLVM. Часть 3: Генерация кода LLVM IR

Добро пожаловать в Главу 3 учебника «Создание языка программирования с LLVM». В этой главе мы рассмотрим, как преобразовать AST (Абстрактное Синтаксическое дерево), построенное в Главе 2, в LLVM IR. Она расскажет вам о некоторых аспектах работы LLVM, а также продемонстрирует, насколько он прост в использовании. Вы увидите, что гораздо больше труда потребовалось на лексический и синтаксический анализ, чем на непосредственное создание кода LLVM IR.

Обратите внимание: код из этой главы требует наличия LLVM 2.2 или более поздней версии. С версиями по LLVM 2.1 включительно этот код работать не будет. Также стоит отметить, что вам стоит использовать версию этого учебника, которая соответствует вашему релизу LLVM: вы можете использовать документацию, которая прилагается к официальным выпускам или посетить страницу с релизами на llvm.org.

КомпиляторыСоздание языка программирования с использованием LLVM. Часть 2: Реализация парсера и AST

Добро пожаловать в Главу 2 учебника «Создание языка программирования с LLVM». В этой главе мы увидим, как использовать лексический анализатор, созданный в Главе 1, чтобы построить полный синтаксический анализатор для нашего языка Kaleidoscope. После того, как у нас будет готов парсер, мы будем строить Abstract Syntax Tree (AST) (Абстрактное синтаксическое дерево).