Can you try the script below in the latest Pharo image and let me know how much does it take to execute on your machine:

�� |duration benchmarkResult| ��
�� 100 timesRepeat: [��
RubScrolledTextMorph new
model: (RubScrolledTextModel new setInitialText: '1+1'; yourself);
beForSmalltalkScripting;
yourself
] .

duration := 100 milliSeconds.
benchmarkResult := [ 100 factorial ] benchFor: duration.

In my case it takes around 1 minute. The inner loop finishes immediately and then most time is spend executing the benchmark.

At the end I get the following result:
"a BenchmarkResult(2,060,386 iterations in 1 minute 7 seconds 498 milliseconds. 30,525 per second)"

So the benchmark is executed for over one minute before the delay expires.