I clearly remember that a couple of months ago when I tried to push some items into a storage array each consecutive 'array-pushing-transaction' took more gas to execute. In other words, it was increasingly expensive to use arrays. Now it seems that the things have changed -- gas calculations dont't take into account array size anymore. I'm just curious when did these changes took place and what was the reason behind such limitation?
If you look at storage layout with "The mapping or the dynamic array itself occupies..." you will see that all actions are
O(1), keccak256 calculations and read / writes.
I do not understand where you got this increasing cost. It must have been something elsewhere in the function.