@time reports a very small time, but the REPL hangs for a long period before anything is printed to the terminal if this expression is evaluated for the first time in a new REPL session.
Just to give an explanation instead of just examples: the time to build the object is being measured, but as printing was not explicitly called and is done by the REPL after it evaluated @time ... (because a @time ... expression just returns the value of ..., and the REPL prints the value of each line by default), this implicit REPL method call is not being measured.
One way of avoiding this delay would be never compiling such methods, by placing a ; at the end of the line, and suppressing the default printing by the REPL.