console.clear();

var person = mobx.observable({
	firstName: 'Matt',
	lastName: 'Ruby',
	age: 25,
	fullName: function () {
		console.count('fullName called');
		pausecomp(500);
		return this.firstName + ' ' + this.lastName;
	}
});

mobx.autorun(function () {
	console.time('Autorun');
	console.log(person.fullName + ' ' + person.age);
	console.timeEnd('Autorun');
});

_.times(10, function () {
	person.age = _.random(40);
});

// don't ever do this!!
// noprotect
function pausecomp (ms) {
	ms += new Date().getTime();
	while (new Date() < ms) {
	}
}

@@ -93,138 +93,8 @@
 : 25
-,%0A%09fullName: function () %7B%0A%09%09console.count('fullName called');%0A%09%09pausecomp(500);%0A%09%09return this.firstName + ' ' + this.lastName;%0A%09%7D
 %0A%7D);
@@ -126,34 +126,8 @@
 ) %7B%0A
-%09console.time('Autorun');%0A
 %09con
@@ -147,11 +147,12 @@
 on.f
-ull
+irst
 Name
@@ -177,37 +177,8 @@
 e);%0A
-%09console.timeEnd('Autorun');%0A
 %7D);%0A
@@ -240,129 +240,4 @@
 %7D);%0A
-%0A// don't ever do this!!%0A// noprotect%0Afunction pausecomp (ms) %7B%0A%09ms += new Date().getTime();%0A%09while (new Date() %3C ms) %7B%0A%09%7D%0A%7D%0A

Simplified the example