Привет! Меня зовут Александр Иванов, я разрабатываю средства управления сетевыми элементами сотовой связи и пишу на языке Go в YADRO. Однажды я работал над приложением, которое испытывало пиковые нагрузки каждые 10 минут, но выполнить обработку памяти быстро мешал Garbage Collector. Чтобы решить эту проблему, я изучил несколько способов реализации memory pool и провел испытания скорости работы.
Рубрика «оптимизация памяти»
Три способа оптимизировать работу с памятью на Go с помощью memory pools
2024-09-11 в 10:03, admin, рубрики: channel pool, garbage collector, Go, memory arena, memory pool, sync.Pool, бенчмарки, оптимизация памятиДля чего подходит ультрадешёвый сервер за 130 рублей
2024-01-23 в 9:00, admin, рубрики: docker, putty, ruvds, ruvds_статьи, Snappymail, ssh, Teamspeak, vds, VPN наоборот, xmpp, ZRAM, оптимизация памяти, хостинг сайтовВ рекламе RUVDS постоянно упоминаются дешёвые VPS-серверы «за 130 рублей в месяц». Но многие думают, что это маркетинговый трюк: такие серверы может и есть, но только для рекламы, чтобы предложение звучало красиво, а в реальности они совершенно непригодны. Ну что может сервер с 512 МБ оперативной памяти? Конечно же, ничего. На него даже операционка не встанет…
В реальности всё совсем иначе. На этот сервер ставятся разные дистрибутивы Linux, задачи он выполняет реальные, и вы даже получаете выделенный IP-адрес .Читать полностью »
Android-приложение в памяти. Доклад об оптимизации для Яндекс.Лончера
2019-04-22 в 8:39, admin, рубрики: android go, android studio, dumpsys, launcher, memory management, Блог компании Яндекс, использование памяти, Клиентская оптимизация, оптимизация памяти, разработка мобильных приложений, Разработка под androidВ облегченной системе Android Go действуют повышенные требования к предустановленным приложениям — размеру и используемой памяти. Перед нами встала задача в эти требования уложиться. Мы провели ряд оптимизаций и решили серьезно поменять архитектуру нашей графической оболочки — Яндекс.Лончера. Руководитель группы разработки прикладных мобильных решений Александр Старченко поделился этим опытом.
— Меня зовут Александр, я из Санкт-Петербурга, из команды, которая занимается разработкой Яндекс.Лончера и Яндекс.Телефона. Сегодня я расскажу, как мы оптимизировали память в Лончере. Сначала коротко объясню, что такое Лончер. Далее мы обсудим причины, зачем нам оптимизировать память. После этого рассмотрим, как корректно измерить память и из чего она состоит. Затем перейдем к практике. Я буду рассказывать, как мы оптимизировали память в Лончере и как пришли к радикальному решению вопроса. И под конец расскажу о том, как мы мониторим использование памяти, как мы держим ее под контролем.
Серьёзные перемены в ведущих архитектурах микросхем
2018-09-10 в 8:28, admin, рубрики: Arteris IP, cadence, dram, eSilicon, HBM2, IBM, M2, M3, ml, NetSpeed Systems, Nvidia, NVM, Samsung, ssd, xilinx, аппаратный ИИ, архитектура фон Неймана, Интернет вещей, искусственный интеллект, Компьютерное железо, машинное обучение, нейроморфные вычисления, оптимизация памяти, предсказание ветвлений, Производство и разработка электроникиВнедрение ИИ на уровне микросхем позволяет обрабатывать локально больше данных, потому что увеличение количества устройств уже не даёт прежнего эффекта
Производители микросхем работают над новыми архитектурами, которые значительно увеличивают объём обрабатываемых данных на ватт и такт. Готовится почва для одной из крупнейших революций в архитектуре чипов за последние десятилетия.
Все основные производители чипов и систем меняют направление развития. Они вступили в гонку архитектур, которая предусматривает изменение парадигмы во всём: от методов чтения и записи в память до их обработки и, в конечном счёте, компоновки различных элементов на чипе. Хотя миниатюризация продолжается, уже никто не делает ставку на масштабирование, чтобы справится со взрывным ростом данных от сенсоров и увеличения объёма трафика между машинами.
Читать полностью »
Что делать, если память подводит
2018-04-10 в 13:43, admin, рубрики: ddr3, ddr4, Kingston, windows, Блог компании Kingston Technology, браузеры, оперативная память, операционные системы, оптимизация памяти, память, СофтПривет, GT! Оперативная память – это как деньги. Или как свободное время. Ну, в смысле, расходится на все подряд и всегда ее не хватает. В общем, здесь действует то же правило: чем больше – тем лучше. И даже если ваш ПК довольно средненький по ТТХ, с оперативкой, например, на 8 гигабайт, то переход на 12 гигабайт такой же средненькой памяти скрасит вам жизнь весьма ощутимо. А вообще, в плане памяти есть два основных способа сделать так, чтобы использование компьютера приносило максимум радости:
- Оптимизировать саму ОС, чтобы уже имеющаяся на борту память расходовалась оптимально в рамках привычных пользователю сценариев.
- Докупить себе в ПК правильных плашек, нарастив память до нужного объема.
Но обо всем по порядку.
Читать полностью »
Теория памяти человека, зачатки ИИ
2014-02-25 в 11:22, admin, рубрики: биоинформатика, граф, ИИ, искусственный интеллект, нейроны, оптимизация памяти, связи, метки: граф, ИИ, нейроны, оптимизация памяти, связиТеория памяти человека, зачатки ИИ
Наверняка всем Вам очень хорошо известны такие моменты, когда нужно что-то вспомнить, но извлечь информацию из мозга становится большим пазлом.
Почему же такое происходит. Для начала немного теории работы нейрона, можно почитать тут или тут
Предположим, а может так оно и есть, все нейроны объединены в одни очень большой граф со сложной структурой. Данная структура сложна и не может работать хаотично, т.е. передаваемые импульсы передаются строго в определённом порядке, поэтому тут есть 2 варианта:
- Ребра графа имеют только положительные веса
- Ребра графа могут иметь, как положительные так и отрицательные веса
Рассматривая второй случай в реальной работе памяти человека, можно предположить, что такая ситуация возникает при провалах памяти человека, т.е. к нейрону содержащему ту информацию которая нам необходимо либо поступает недостаточно сигналов, для накопления и дальнейшей передачи, либо этих сигналов вообще нет. В случае с графами это можно представить, как узел у которого мало путей, либо они отрицательны, либо их вообще нет (рис 1).
Что же касается первого случая, когда все ребра имеют положительные веса, т.е. головной мозг человека не поврежден. Тогда почему же человек не может вспомнить моменты из своего детства? Ответ прост: “Любое тело стремится к покою”, так же и наша с вами нейронная сеть старается оптимизировать свою работу. (Владельцам навигаторов должно быть знакомо, что прокладка маршрута, как раз таки строится на принципах работы графа, нахождения кратчайшего пути и т.д.). Мозг человека более изощренная система и его оптимизация заключается в разрыве связей с малыми весами, и построении новых связей с более высокими. (рис. 2). Таким образом объяснятся многочисленные разрывы и новые соединения нейронов. Чем больше узел имеет связей, тем легче вспомнить необходимую информацию.
Читать полностью »
Строковые коллекции только для чтения: экономим на спичках
2012-06-04 в 14:11, admin, рубрики: java, read-only, коллекции, оптимизация памяти, списки, строки, метки: java, read-only, коллекции, оптимизация памяти, списки, строки Нередко случается, что какие-то данные программа загружает в память и оставляет их там надолго (а то и до конца работы) в неизменном виде. При этом используются структуры данных, оптимизированные как для чтения, так и для записи. Например, вы вычитываете из базы Ensembl список идентификаторов всех генов человека (включая всякие микроРНК и т. д. — всего чуть больше 50000). Если их прочитать в стандартный ArrayList, то на 32-битной HotSpot вы потратите чуть больше 4 мегабайт. Можно ли сэкономить память, зная, что коллекция больше не будет меняться?
Читать полностью »