есть какая-нибудь писькомерка в количестве операций и т.д. потому что синхронизация часто не так страшна как ее малюют. откуда уверенность, что именно в локах жвм трабла? а уж со скалой если в молотилках - там часто важны другие вещи. например в case class Item(...) - простановка явного vaR (вместо val) на порядок ускоряет работу с ними. + где надо добавление
@specialized, замена for => cfor, замена по возможности Option => FastOption - также на порядок все ускоряет. - основной набор оптимизаций в скале для молотилки