Is it possible to find the size of a Big_map, or to find out whether a Big_map is empty?
If you want to know this info on-chain in another contract you can keep track of how many entries there are manually inside the contract storage on a counter variable.
self.data.map_length = 0 in smartpy with a
self.data.map_length += 1 whenever you add an entry (and inverse when you remove).
Then you can expose the value in an on-chain view with
sp.result(self.data.map_length) and you will be able to know the specific bigmap length from anywhere.
If you do it incorrectly there is risk of the value drifting, so make sure you do plenty of testing if you decide to go this route.