Оптимизация потребления памяти в ML-библиотеке LANCETNICНедавно я столкнулся с проблемой: моя библиотека lancetnic при обучении на больших текстовых датасетах просто перегружала оперативную память. На ноутбуке с 16 ГБ RAM модель не могла обучиться даже на 25 тыс. строк. Я начал разбираться и нашёл пару причин критического перерасхода памяти. Читать далее
Возможно, вы замечали, что Java-приложение может превышать лимит памяти, указанный в параметре -Xmx (максимальный размер кучи). Дело в том, что JVM помимо кучи использует и другие области памяти. Давайте начнем со структуры памяти Java-приложения и источников потребления памяти. Читать далее
Многие Go программисты знакомы с bytes.Buffer. Одно из его преимуществ состоит в том, что он позволяет избегать выделений памяти в куче по той же схеме, что и "оптимизация коротких строк" (small buffer/size optimization): type Buffer struct { bootstrap [64]byte // для избежания аллокации малых слайсов в куче // ... другие поля } Есть только одна проблема. Эта оптимизация не работает. К концу этой статьи вы узнаете, почему эта оптимизация не работает и что мы можем с этим сделать. Читать дальше →
Лауреатом Премии Шведского государственного банка по экономическим наукам памяти Альфреда Нобеля, известной также как Нобелевская премия по экономике, стал специалист по микроэкономике Энгус Дитон – «за анализ проблем потребления, бедности и социального обеспечения». Об…