Борьба за время сборки iOS-приложений

Автор: admin от 19-06-2017, 13:10, посмотрело: 75

Чуть больше месяца назад мы выпустили iOS-приложение «Тинькофф Инвестиции». Приложение полностью написано на языке Swift, но имеет некоторые Objective-C-зависимости. Продукт быстро начал обрастать новой функциональностью, а вместе с тем время сборки проекта существенно увеличивалось. Когда мы пришли к тому, что после clean или значительных правок проект собирался дольше шести минут, мы осознали, что перемены необходимы.

Борьба за время сборки iOS-приложений

На просторах интернета было найдено много действенных и не очень способов ускорить время сборки проекта. Особенно нас интересовало время сборки debug-версии, потому что работать становилось всё сложнее. Ниже я расскажу о методах, которые мы опробовали в рамках решения задачи, и результатах, которых мы добились. Хочу отметить, что долгое время сборки может зависеть от разных факторов, поэтому и методы для каждого проекта используются разные.

Категория: Веб-разработка, Game Development, iOS

 

Scheduling: мифы и реальность. Опыт Яндекса

Автор: admin от 18-05-2017, 13:30, посмотрело: 95

В последние пару лет я занимаюсь построением scheduling-систем, и мне пришло в голову поделиться своим нелёгким опытом с коллегами. Речь идёт о двух категориях коллег. Первые — это желающие узнать, как разработать свой scheduler за 21 день. Вторые — те, кому нужен новый scheduler совсем без смс и регистрации, просто чтобы работал. Особенно хотелось бы помочь второй категории людей.

Scheduling: мифы и реальность. Опыт Яндекса


Сначала, как водится, стоит сказать несколько общих слов. Что такое scheduler (планировщик, или, для простоты, «шедулер»)? Это такая компонента системы, которая занимается распределением ресурса или ресурсов системы по потребителям. Разделение ресурса может происходить в двух измерениях: в пространстве и времени. Планировщики чаще всего фокусируются на втором измерении. Обычно под ресурсом подразумевают процессор, диск, память и сеть. Но, что греха таить, шедулить можно и любую виртуальную ерунду. Конец общих слов.

Категория: Компании » Яндекс

 

Проблемы со скоростью выполнения системных вызовов «gettimeofday» и «clock_gettime» в AWS EC2

Автор: admin от 25-04-2017, 09:40, посмотрело: 71

Проблемы со скоростью выполнения системных вызовов «gettimeofday» и «clock_gettime» в AWS EC2

Кадр из фильма «Матрица: Революция»


В этой статье мы подробно рассмотрим детали одной интересной находки: два часто используемых системных вызова (gettimeofday, clock_gettime) в AWS EC2 выполняются очень медленно.


В Linux реализован механизм по ускорению этих двух часто используемых системных вызовов, благодаря которому их код выполняется в пространстве пользователя, что позволяет избежать переключениям в контекст ядра. Это сделано с помощью предоставляемой ядром виртуальной общей библиотеки (virtual shared library), которая отображается в адресное пространство всех запущенных программ.


Два вышеназванных системных вызова не могут использовать vDSO (virtual Dynamic Shared Object) в AWS EC2, поскольку виртуализированный источник временных меток (virtualized clock source) в xen (и некоторых конфигурациях kvm) не поддерживает получение информации о времени через vDSO.


Обойти эту проблему не получится. Можно поменять источник информации о времени на tsc, но это небезопасно. Далее мы рассмотрим вопрос более подробно и проведем сравнительное тестирование с помощью microbenchmark.

Категория: Веб-разработка, Linux

 

Обманываем время: о тестировании с «подставным» временем на Linux и Docker

Автор: admin от 18-04-2017, 15:40, посмотрело: 130

При разработке очередного бота для группы в Telegram у меня возникла необходимость испытать его при различных значениях системного времени. Этот бот в конце каждого дня отправляет (или, в зависимости от ряда условий, не отправляет) сообщение в чат и производит манипуляции с некоторыми предыдущими своими сообщениями (или, опять же, не производит).


Менять системное время глобально ой, как не хотелось. Муторно, плюс у меня в ней столько всего понаставлено, не дай Б-г что-то заглючит (вряд ли, но мало ли). Думал запустить VirtualBox, но уж больно лень было ставить «чистую» Убунту, расшаривать папки, и т. д., тем более что этот вариант жрёт, как троглодит серьёзно потребляет машинные ресурсы.


Но буквально недавно я начал ковырять Docker. «У него просто обязан быть механизм контроля системного времени внутри контейнера», — подумал я. Рассмотрим, что же в результате вышло.

Категория: Системное администрирование, Веб-разработка, Linux

 

Работа из дома — один из главных бонусов, который требуют программисты

Автор: admin от 13-04-2017, 22:50, посмотрело: 97

Работа из дома — один из главных бонусов, который требуют программисты

Работа из дома несколько дней в неделю — давняя привилегия избранных программистов. Но если 20 лет назад такая опция была скорее исключением из правил, то сейчас разработчики требуют её от работодателя. Её ценят настолько же высоко, как наличие отпусков и отгулов, расширенной медицинской страховки и соблюдения нормального рабочего графика без овертаймов. На это указывают результаты многочисленных исследований, в том числе результаты опроса разработчиков на Stack Overflow Developer Survey Results 2017.

В конце концов, сейчас так много инструментов для организации удалённой работы: Slack, Skype, Google Hangouts, Basecamp, BlueJeans. Групповые часты, видеоконференции, совместная работа и управление проектами. Зачем вообще программисту ходить в офис каждый день?

Категория: Программирование

 

Centrifugo – 3.5 миллиона оборотов в минуту

Автор: admin от 12-04-2017, 11:30, посмотрело: 127

Centrifugo – 3.5 миллиона оборотов в минуту

Последний раз я писал про Centrifugo чуть больше года назад. Пришло время напомнить о существовании проекта и рассказать, что произошло за этот период времени. Чтобы статья не скатилась в скучное перечисление изменений, я попробую сконцентрировать внимание на некоторых Go библиотеках, которые помогли мне в разработке – возможно, вы почерпнете для себя что-то полезное.

Категория: Программирование, Веб-разработка

 

RethinkDB: живее всех живых. Теперь под крылом Linux Foundation

Автор: admin от 7-02-2017, 21:25, посмотрело: 149

RethinkDB: живее всех живых. Теперь под крылом Linux Foundation

Последние несколько месяцев ситуация вокруг RethinkDB была весьма смутна, о будущем проекта было сложно что-то сказать. Но ситуация наконец-то разрешилась, в официальном блоге появилось долгожданное обновление с разъяснением о текущем положении вещей. Как стало известно, CNCF(Cloud Native Computing Foundation) выкупила права на исходники RethinkDB и передала проект под покровительство организации Linux Foundation. Перед передачей код был переведён с лицензии AGPLv3 на Apache 2.0. Передача осуществлена в рамках предпринятой бывшими разработчиками RethinkDB инициативы по передаче сообществу управления над проектом.

Категория: Операционные системы » Linux

 

Agile умер, да здравствует… Agile

Автор: admin от 30-01-2017, 12:10, посмотрело: 145

За последние несколько лет гибкие методологии почти вытеснили традиционные способы разработки – полностью по принципам Agile сейчас работают две трети IT-компаний. Оправдались ли ожидания, какие возникают проблемы и куда всё движется? Предлагаем анализ существующего российского и зарубежного опыта работы по Agile и ответы на эти вопросы.

Категория: Компании » Google

 

Real-time BeagleBone: использование высокоскоростных выводов

Автор: admin от 11-01-2017, 19:30, посмотрело: 237

Real-time BeagleBone: использование высокоскоростных выводов

Здравствуйте, уважаемые хабравчане! Давно уже являюсь читателем Хабра, но до сих пор не мог найти достойной темы для публикации. И вот, наконец, хорошенько прошерстив Хабр и GT, удивился отсутствию публикаций, посвященных программируемой подсистеме реального времени (Добро пожаловать

Категория: Программирование, Linux

 

Над RethinkDB сгущаются тучи?

Автор: admin от 10-10-2016, 08:20, посмотрело: 93

Над RethinkDB сгущаются тучи?

Подозреваю, что у нас мало кто использует продукты этой компании. Хотя, как минимум, их одноимённая СУБД стоит внимания. На хабре видел пару статей всего.

К сожалению, компания RethinkDB, развивающая одноимённую СУБД и web-платформу Horizon, объявила о закрытии. После 7 лет разработки из-за неспособности организовать устойчивый бизнес основатели были вынуждены свернуть свою деятельность. СУБД RethinkDB и платформа Horizon передаются в руки сообщества. Код RethinkDB распространяется под лицензией AGPLv3, а Horizon под лицензией MIT.

Категория: Программирование » Веб-разработка

 
Назад Вперед