Помогите пожалуйста разобраться.Пытаюсь увеличить производительность программы.
Есть 2 потока, оба работают с одним объектом, код не сильно сложный - получить объект или вернуть объект. Синхронизация выполнена на mutex. Приложение написано на С и работает на железке c PowerPC e500v2 под Linux. И важно, чтобы оно работало как можно быстрее.
Хотелось бы спросить у знающих людей, так как вроде мьютексы довольно тяжежеловесны, возможно ли увеличить производительность за счёт использования другого механизма синхронизации, сейчас планирую почитать про них, но времени не так много - spinlock, semaphore, condition variable, RCU (liburcu) или использовании неких других примитивов - видел в каком-то коде функцию __sync_fetch_and_add для синхронизации и что-то ещё наверняка есть. Просто я под Linux не писал ничего, только планирую изучать данную платформу, но на работе есть апликация одна и сейчас её решили улучшить.