public function diff( Snapshot $other ) {

		return new self(
			$this->_time - $other->getTime(),
			$this->_memoryUsage - $other->getMemoryUsage(),
			$this->_realMemoryUsage - $other->getRealMemoryUsage(),
			( $this->_memoryUsagePeak + $other->getMemoryUsagePeak() ) / 2,
			( $this->_realMemoryUsagePeak + $other->getRealMemoryUsagePeak() ) / 2
		);
	}
public function diff( Snapshot $other ) {

		return new self(
			$this->_time - $other->getTime(),
			$this->_memoryUsage - $other->getMemoryUsage(),
			$this->_realMemoryUsage - $other->getRealMemoryUsage(),
			( $this->_memoryUsagePeak + $other->getMemoryUsagePeak() ) / 2,
			( $this->_realMemoryUsagePeak + $other->getRealMemoryUsagePeak() ) / 2
		);
	}
public function diff ( Snapshot $ other ) { return new self ( $ this -> _time - $ other -> getTime ( ) , $ this -> _memoryUsage - $ other -> getMemoryUsage ( ) , $ this -> _realMemoryUsage - $ other -> getRealMemoryUsage ( ) , ( $ this -> _memoryUsagePeak + $ other -> getMemoryUsagePeak ( ) ) / 2 , ( $ this -> _realMemoryUsagePeak + $ other -> getRealMemoryUsagePeak ( ) ) / 2 ) ; }
Subtracts a snapshot from another one.

The result will be a snapshot describing the execution metrics between the two snapshots
e.g. execution-time between two snapshots, memory-consumption from one snapshot to another etc.

@param Snapshot $other

@return Snapshot
Subtracts a snapshot from another one .