anchor.diff:      ?line Left = ets:info(T,size),
       ?line Mult = get_kept_objects(T),
       filltabstr(T,Mult),
  -    my_spawn_opt(fun()-> ?line true = ets:info(T,fixed),
  -			 Self ! start,
  -			 io:format("Starting to filltabstr... ~p\n",[now()]),
  -			 filltabstr(T,Mult,Mult+10000),
  -			 io:format("Done with filltabstr. ~p\n",[now()]),
  -			 Self ! done 
  -		 end, [link, {scheduler,2}]),
  +    my_spawn_opt(
  +      fun() ->
  +	      true = ets:info(T,fixed),
  +	      Self ! start,
  +	      io:put_chars("Starting to filltabstr...\n"),
  +	      do_tc(fun() ->
  +			    filltabstr(T, Mult, Mult+10000)
  +		    end,
  +		    fun(Elapsed) ->
  +			    io:format("Done with filltabstr in ~p ms\n",
  +				      [Elapsed])
  +		    end),
  +	      Self ! done
  +      end, [link, {scheduler,2}]),
       ?line start = receive_any(),
  -    io:format("Unfixing table...~p nitems=~p\n",[now(),ets:info(T,size)]),
  -    ?line true = ets:safe_fixtable(T,false),
  -    io:format("Unfix table done. ~p nitems=~p\n",[now(),ets:info(T,size)]),
  +    io:format("Unfixing table... nitems=~p\n", [ets:info(T, size)]),
  +    do_tc(fun() ->
  +		  true = ets:safe_fixtable(T, false)
  +	  end,
  +	  fun(Elapsed) ->
  +		  io:format("Unfix table done in ~p ms. nitems=~p\n",
  +			    [Elapsed,ets:info(T, size)])
  +	  end),
       ?line false = ets:info(T,fixed),
       ?line 0 = get_kept_objects(T),
       ?line done = receive_any(),
  
positive.code: 				     [true]}]),    
      ?line Half = ets:info(T,size),
      ?line Half = get_kept_objects(T),
      my_spawn_opt(fun()-> ?line true = ets:info(T,fixed),
  			 Self ! start,
  			 io:format("Starting to delete... ~p\n",[now()]),
  			 del_one_by_one_set(T,1,Half+1),
  			 io:format("Done with delete. ~p\n",[now()]),
  			 Self ! done 
  		 end, [link, {scheduler,2}]),
      ?line start = receive_any(),
      io:format("Unfixing table...~p nitems=~p\n",[now(),ets:info(T,size)]),
      ?line true = ets:safe_fixtable(T,false),
      io:format("Unfix table done. ~p nitems=~p\n",[now(),ets:info(T,size)]),
      ?line false = ets:info(T,fixed),
      ?line 0 = get_kept_objects(T),
      ?line done = receive_any(),
  
negative.code: ets_new(Name, Opts) ->
      %%ets:new(Name, [compressed | Opts]).
      ets:new(Name, Opts).
  
  do_tc(Do, Report) ->
      T1 = erlang:monotonic_time(),
      Do(),
      T2 = erlang:monotonic_time(),
      Elapsed = erlang:convert_time_unit(T2 - T1, native, milli_seconds),
      Report(Elapsed).
  