По хорошему проблема аллокации возникает только когда она нужна очень часто для мелких блоков в многопоточной среде.
При этом основные временные затраты уходят именно на само выделение памяти. Ну и в отрыве от железа не стоит заниматься такой оптимизацией. Есть целый ворох связанных вопросов — выравнивание, кэши процессора разного уровня и т.п.
Для решения этой проблемы нет особого смысла в создании специального аллокатора, который только все усложняет.
Достаточно простого кэша заранее выделенных блоков, где суперблоки будут выделяться per cpu или per thread, а при запросе на аллокацию оттуда просто с минимальными затратами будут отдаваться готовые блоки.
CAS не панацея — фактически те же локи, вид с боку. Спинлоки и мутексы по ходу на них же и реализуются обычно. Да и не портируемо получается — CAS на разных платформах разный.
Минимизация CAS и раскидывание достаточно больших суперблоков по CPU/thread позволяет обойти дискард кэша процессора при записи в выделенные блоки.
Реальная деаллокация здесь происходит только для суперблоков — мелкие блоки просто добавляются в список доступных.
При этом даже не нужно писать аллокатор — можно взять один из многих уже готовых.
Но еще проще решить вопрос сразу на уровне приложения. Пусть выделением памяти занимается нечто системное, а кэш аллокацию построить исходя из задачи. Ну и главное помнить, что частая аллокация и деаллокакация — признак ошибки в днк проектировании.
По крайней мере не знающие английского хоть что-то ухватят.
Сам же ушел читать английский :) Начал читать английский, потом прочел пару ваших абзацев перевода. Перевод далек от английского значения — много добавлено от себя, фразы перводятся, как их понял переводчик, а не как их задумал оригинальный автор.
Анне нужно убить себя об стену (после геноцида остальной команды почты) за невозможность отключения группировки писем — нужно брать пример с создателей хотя бы почтовых программ.
Полагаю, что если это где-то реально использовать, то даже, если пройдет первичную цензуру, забанят потом — для JB дивайсов юзай себе спокойно Aeropuerto и все :)
В чем же прикол видео с прыщывым ботананом? Трехмерное путешествие на телевизоре — это не новость. Камеру нужно было в сами очки запихнуть — тогда еще смысл был бы.
Пользуюсь вип-тарифом другого оператора — за 10 лет приходило только раз в пару месяцев какая ботва от самого оператора. Больше ничего.
Подключался к МТС временно второй трубой — это жесть. Отключился, через неделю. МТС — это просто жулики в основе деятельности которых лежит обман, подвох и надувательство.
Бывает так, что стартаперам, которые чувствуют себя достаточно уверенно просто не нужны деньги (пару десятков-сотен тысяч долларов найти несложно и у себя по сусекам). А успешные даже бывает не хотят продаваться.
Сами деньги просят в большинстве наивные люди, основной идеей которых является создание очередного клона западного проекта (при наличии десятка локальных клонов).
Инвесторы же на стартапы во многих случаях смотрят даже не в плане прибыльности и окупаемости, а в плане продаваемости, чтобы окупить инвестиции не за счет прибылей проекта, а за счет второго раунда инвестиций, перепродав проект другим инвесторам.
с другой стороны большая часть минских компьютерных контор — офисы с менеджерами, которые через телефоны и объявы продают продукцию тех, кто имеет свои склады и не хочет работать с физлицами. иногда в цепочке по нескольку посредников.
По хорошему проблема аллокации возникает только когда она нужна очень часто для мелких блоков в многопоточной среде.
При этом основные временные затраты уходят именно на само выделение памяти. Ну и в отрыве от железа не стоит заниматься такой оптимизацией. Есть целый ворох связанных вопросов — выравнивание, кэши процессора разного уровня и т.п.
Для решения этой проблемы нет особого смысла в создании специального аллокатора, который только все усложняет.
Достаточно простого кэша заранее выделенных блоков, где суперблоки будут выделяться per cpu или per thread, а при запросе на аллокацию оттуда просто с минимальными затратами будут отдаваться готовые блоки.
CAS не панацея — фактически те же локи, вид с боку. Спинлоки и мутексы по ходу на них же и реализуются обычно. Да и не портируемо получается — CAS на разных платформах разный.
Минимизация CAS и раскидывание достаточно больших суперблоков по CPU/thread позволяет обойти дискард кэша процессора при записи в выделенные блоки.
Реальная деаллокация здесь происходит только для суперблоков — мелкие блоки просто добавляются в список доступных.
При этом даже не нужно писать аллокатор — можно взять один из многих уже готовых.
Но еще проще решить вопрос сразу на уровне приложения. Пусть выделением памяти занимается нечто системное, а кэш аллокацию построить исходя из задачи. Ну и главное помнить, что частая аллокация и деаллокакация — признак ошибки в
днкпроектировании.По крайней мере не знающие английского хоть что-то ухватят.
Сам же ушел читать английский :) Начал читать английский, потом прочел пару ваших абзацев перевода. Перевод далек от английского значения — много добавлено от себя, фразы перводятся, как их понял переводчик, а не как их задумал оригинальный автор.
Подключался к МТС временно второй трубой — это жесть. Отключился, через неделю. МТС — это просто жулики в основе деятельности которых лежит обман, подвох и надувательство.
Бывает так, что стартаперам, которые чувствуют себя достаточно уверенно просто не нужны деньги (пару десятков-сотен тысяч долларов найти несложно и у себя по сусекам). А успешные даже бывает не хотят продаваться.
Сами деньги просят в большинстве наивные люди, основной идеей которых является создание очередного клона западного проекта (при наличии десятка локальных клонов).
Инвесторы же на стартапы во многих случаях смотрят даже не в плане прибыльности и окупаемости, а в плане продаваемости, чтобы окупить инвестиции не за счет прибылей проекта, а за счет второго раунда инвестиций, перепродав проект другим инвесторам.
с другой стороны большая часть минских компьютерных контор — офисы с менеджерами, которые через телефоны и объявы продают продукцию тех, кто имеет свои склады и не хочет работать с физлицами. иногда в цепочке по нескольку посредников.
onliner.by — модель вполне себе успешна, только товары другие
Сделают дивайс аналогичный конкурентам и будут продавать дешевле.
Аналогичные дивайсы есть.
Наша контора решила этот вопрос проще — вечерами приходят студенты и за небольшие для конторы, но приятные для них деньги клеют конверты :)