There are multiple aspects to the question of hashgraph's efficiency.
In proof-of-work (PoW) blockchain, some blocks are mined and are later discarded.
In hashgraph, every event that is gossiped to the network of nodes is kept so the efficiency is 100%. No resources are ever wasted on discarded blocks because no blocks are ever discarded. We can also consider hashgraph's efficiency in terms of bandwidth, storage, and CPU.
Hashgraph adds only minimal overhead in bandwidth - it sends the minimum amount of data to represent an event (transaction payload + timestamp + signature), then adds a tiny overhead of two hashes (node's hash and parent event's hash).
With respect to storage burden, hashgraph allows nodes to collectively establish a signed state and discard earlier portions of the hashgraph used to establish that state - with no need to maintain it since inception. For example, if Bitcoin were to be implemented on a hashgraph (as opposed to PoW blockchain), then signed states would reduce the storage to less than 1GB (compared to the current 170GB).
In relation to CPU (or GPU) cycles, PoW is extremely intensive on memory for the purpose of calculating the hash puzzle. Conversely, hashgraph doesn't require PoW and only uses the necessary CPU and memory to update the state.