http://www.opennet.ru/opennews/art.shtml?num=26107Цитата:
На международном симпозиуме параллельных и распределенных вычислений будет представлена новая техника организации управления памятью, позволяющая добиться заметного повышения производительности стандартных приложений при их работе на многоядерных процессорах. При этом повышение производительности заметно в программах для которых в обычных условиях достаточно трудно распараллелить операции, например, в браузерах и текстовых процессорах.
Суть техники в выделении функций динамического распределения памяти в отдельный поток MMT (Memory Management Thread), работающий параллельно и не блокирующий работу основного приложения. В настоящий момент разработчиками подготовлен прототип динамической библиотеки, подменяющей стандартные функции распределения памяти (malloc, free) и не требующей модификации приложения.
Измерение производительности различных программ, в зависимости от активности операций выделения и освобождения блоков памяти, показало, что в среднем программы тратят на выполнение операций по распределению памяти до 30% своего времени выполнения. Использование техники MMT позволяет увеличить скорость работы таких программ в среднем на 19%.
В будущем возможно расширение библиотеки средствами по фоновому выявлению аномалий в работе программы или выполнению дополнительных проверок, связанных с безопасностью. В качестве примера приводится библиотека Phkmalloc, обеспечивающая ряд связанных с безопасностью дополнительных проверок, ценой которых является ощутимое замедление работы. В обычной ситуации среднее замедление при использовании Phkmalloc составляет 21% (в определенных ситуациях до 44%), но при задействовании техники фонового распределения памяти замедление от дополнительных проверок безопасности в Phkmalloc удалось свести к 1%.
У меня такое ощущение складывается, что народ мужественно борется с теми трудностями которые сам себе создал.
Пишем программу на Си (без плюсов). Радостно не заботясь о последствиях играемся с malloc/free. Отлично, быстро. Вроде бы работает, но проблемы с безопасностью и надежностью. Ок. Прикручиваем туда Phkmalloc, чтобы получить рантайм проверки (без модификации исходников). Упс. Тормозить стало. Прикручиваем MMT. Вроде теперь особо не тормозит, ога.
По сути это всё (+ дефрагментация памяти) есть например в java. Поэтому тамошний new в ряде случаев эффективней чем malloc.
Также это не поможет тем например плюсовым программам которые и так используют свой собственный new для размещения объектов в своих aren'ах. Т.е. те кто использует пулы памяти никак не ощутят преимуществ этой либы.