Hey @arthaud,
Thanks for asking. The reason is that scrypt is a KDF designed specifically to be memory-hard, rather than CPU-hard. When choosing a KDF, you are deliberately making the process more expensive; the question is how. Typically, this is done by making the process last longer through using a deliberate excessive amount of CPU time. The down-side of CPU time is that it is quite cheap to scale up. An attacker can purchase additional hardware to scale up in an attempt to overcome the security bottleneck relatively inexpensively. Scrypt was designed to be deliberately both CPU and memory hard. As such, the requirement for attempting to overcome the security bottleneck is much higher, especially in light of memory being more expensive than processing.