private void Update() { //Profiler.BeginSample("CString"); //using (CString.Block()) //{ //} //Profiler.EndSample(); string hello = StringPool.Alloc(5); TestBlock(hello); StringPool.Collect(hello); }
private static string GetLogFormat(string str) { DateTime now = DateTime.Now; sb.Clear(); sb.Append(ConstStringTable.GetTimeIntern(now.Hour)).Append(":").Append(ConstStringTable.GetTimeIntern(now.Minute)) .Append(":") .Append(ConstStringTable.GetTimeIntern(now.Second)) .Append(".") .Append(now.Millisecond) .Append("-") .Append(Time.frameCount % 999) .Append(": ") .Append(str); string text = StringPool.Alloc(sb.Length); sb.CopyToString(text); return(text); }
//减少gc alloc static string GetLogFormat(string str) { DateTime time = DateTime.Now; //StringBuilder sb = StringBuilderCache.Acquire(); //sb.Append(ConstStringTable.GetTimeIntern(time.Hour)) // .Append(":") // .Append(ConstStringTable.GetTimeIntern(time.Minute)) // .Append(":") // .Append(ConstStringTable.GetTimeIntern(time.Second)) // .Append(".") // .Append(time.Millisecond) // .Append("-") // .Append(Time.frameCount % 999) // .Append(": ") // .Append(str); //return StringBuilderCache.GetStringAndRelease(sb); sb.Clear(); sb.Append(ConstStringTable.GetTimeIntern(time.Hour)) .Append(":") .Append(ConstStringTable.GetTimeIntern(time.Minute)) .Append(":") .Append(ConstStringTable.GetTimeIntern(time.Second)) .Append(".") .Append(time.Millisecond) .Append("-") .Append(Time.frameCount % 999) .Append(": ") .Append(str); String dest = StringPool.Alloc(sb.Length); sb.CopyToString(dest); return(dest); }