double在输出为字符串的几种方法效率测试
测试结果:
double->none 366ms
double->long 161ms
double->long2 188ms
double->format 564ms
double->Round 393ms
代码:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace testStringbuilder
{
class Program
{
static void Main(string[] args)
{
const int count = 1000000; RunTest("double->none",()=>
{
StringBuilder sb = new StringBuilder(1000*1024*32);
double a = 3.1415926;
for (int i = 0; i < count; i++)
{
sb.Append(a);
sb.Append(',');
}
}); RunTest("double->long", () =>
{
StringBuilder sb = new StringBuilder(1000 * 1024 * 32);
double a = 3.1415926;
for (int i = 0; i < count; i++)
{
sb.Append((long)a);
sb.Append(',');
}
}); RunTest("double->long2", () =>
{
StringBuilder sb = new StringBuilder(1000 * 1024 * 32);
double a = 3.1415926;
for (int i = 0; i < count; i++)
{
sb.Append((long)(a * 100));
sb.Append(',');
}
}); RunTest("double->format", () =>
{
StringBuilder sb = new StringBuilder(1000 * 1024 * 32);
double a = 3.1415926;
for (int i = 0; i < count; i++)
{
sb.AppendFormat("{0:f3}",a);
sb.Append(',');
}
}); RunTest("double->Round", () =>
{
StringBuilder sb = new StringBuilder(1000 * 1024 * 32);
double a = 3.1415926;
for (int i = 0; i < count; i++)
{
sb.Append(Math.Round(a, 3));
sb.Append(',');
}
});
} private static void RunTest(string key, Action action)
{
double milli = 0;
for (int i = 0; i < 3; i++)
{
Stopwatch watch = Stopwatch.StartNew(); try
{
action();
}
catch (Exception ex)
{
Console.WriteLine(ex);
} watch.Stop();
milli += watch.ElapsedMilliseconds;
} Console.WriteLine("{0}\t{1}ms", key, (long) (milli/3));
}
}
}
double在输出为字符串的几种方法效率测试的更多相关文章
- 【Python】输出中文字符串的两种方法
print u"中文" # -*- coding: utf-8 -*- 这句话放在最上面,记得是最上面,顶格写 这样,print后,字符串前就不用加u了
- YbSoftwareFactory 代码生成插件【二十五】:Razor视图中以全局方式调用后台方法输出页面代码的三种方法
上一篇介绍了 MVC中实现动态自定义路由 的实现,本篇将介绍Razor视图中以全局方式调用后台方法输出页面代码的三种方法. 框架最新的升级实现了一个页面部件功能,其实就是通过后台方法查询数据库内容,把 ...
- python—字符串拼接三种方法
python—字符串拼接三种方法 1.使用加号(+)号进行拼接 字符串拼接直接进行相加就可以,比较容易理解,但是一定要记得,变量直接相加,不是变量就要用引号引起来,不然会出错,另外数字是要转换为字 ...
- Python 3 格式化字符串的几种方法!
Python 3 格式化字符串的几种方法! %s和%d,%s是用来给字符串占位置,%d是给数字占位置,简单解释下: a = 'this is %s %s' % ('an','apple') 程序输出的 ...
- java double类型保留两位小数4种方法【转】
4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...
- 在PHP代码中处理JSON 格式的字符串的两种方法:
总结: 在PHP代码中处理JSON 格式的字符串的两种方法: 方法一: $json= '[{"id":"1","name":"\u ...
- Java List转换为字符串的几种方法
Java List转换为字符串的几种方法 import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; import ...
- Golang拼接字符串的5种方法及其效率_Chrispink-CSDN博客_golang 字符串拼接效率 https://blog.csdn.net/m0_37422289/article/details/103362740
Different ways to concatenate two strings in Golang - GeeksforGeeks https://www.geeksforgeeks.org/di ...
- Java - 格式化输出JSON字符串的两种方式
目录 1 使用阿里的fastjson 1.1 项目的pom.xml依赖 1.2 Java示例代码 2 使用谷歌的gson 2.1 项目的pom.xml依赖 2.2 Java示例代码 1 使用阿里的fa ...
随机推荐
- python 从基础到入门链接
机器学习篇: 先看的 简书 木子昭的机器学习三剑客 : https://www.jianshu.com/u/c5d047065c42 然后看完之后又发现一个很好的链接, nkwy2012博主提供了很多 ...
- 【转载】sql monitor
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27067062/viewspace-2129635/ SQL Monitor Report 1. SQL Monit ...
- 大叔学ML第四:线性回归正则化
目录 基本形式 梯度下降法中应用正则化项 正规方程中应用正则化项 小试牛刀 调用类库 扩展 正则:正则是一个汉语词汇,拼音为zhèng zé,基本意思是正其礼仪法则:正规:常规:正宗等.出自<楚 ...
- The SDK 'Microsoft.NET.Sdk' specified could not be found.
有一台电脑用 VS Code 开发 .NET Core 项目时,每次打开文件夹都有一个错误(标题),定位在 C# 插件,鼠标放在代码上没有智能提醒,输入代码时没有补全提示,重装 VS Code 和所有 ...
- python 读取wav 音频文件的两种方式
python 中,常用的有两种可以读取wav音频格式的方法,如下所示: import scipy from scipy.io import wavfile import soundfile as sf ...
- C# 未能加载文件或程序集或它的某一个依赖项。需要强名称程序集
Could not load file or assembly 'xxx.xxx.xxx, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' ...
- 原生js的简单倒计时
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>倒计 ...
- (转)asyncio --- 异步 I/O
原文:https://docs.python.org/zh-cn/3/library/asyncio.html asyncio 是用来编写 并发 代码的库,使用 async/await 语法. asy ...
- stack源码
stack概述 stack是一种先进后出的数据结构,它只有一个出口,允许新增元素.移除元素.取得最顶端元素,但每次只能处理顶端元素,也就是说,stack不允许遍历行为. stack定义 以某种既有容器 ...
- 【数据科学】Python数据可视化概述
注:很早之前就打算专门写一篇与Python数据可视化相关的博客,对一些基本概念和常用技巧做一个小结.今天终于有时间来完成这个计划了! 0. Python中常用的可视化工具 Python在数据科学中的地 ...