it entirely depends on the size of the array and the coding style sometime.
Block ram is the dedicated ram blocks inside the fpga.
Distributed ram is basically using those Luts,SRL16 and flops in the CLBs.
block ram can operate faster than the distributed ram.
I noticed that relatively big register arrays do take very long synthesis time .. for me, I was synthesizing an array of 32deepX42bits and it took me 5 hours (mainly consumed in the optimization phase !!) .. any reason for that ?