Newtonsoft.json中 linq to json 和序列化哪个快?

Newtonsoft.json是最常用的json序列化组件,当然他不是最快的,但是是功能最全的。。

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Diagnostics;

using Newtonsoft.Json.Linq;

using Newtonsoft.Json;

 

namespace ConsoleApplication2

{

    public class Entity

    {

        public int a;

        public bool b = false;

        public string s = "asdfgb";

        public double d = 123.456;

    }

 

    class Program

    {

        static void Main(string[] args)

        {

 

            Stopwatch w = new Stopwatch();

            w.Start();

            for (int i = 0; i <= 1000; i++)

            {

                Entity a = new Entity();

                a.a = i;

                string result = new JObject(new JProperty("a", i),

                    new JProperty("b", a.b),

                    new JProperty("s", a.s),

                     new JProperty("d", a.d)

                    ).ToString();

            }

 

 

            w.Stop();

            Console.WriteLine(w.ElapsedMilliseconds);

 

 

            w.Reset();

            w.Start();

            for (int i = 0; i <= 1000; i++)

            {

                try

                {

                    //Entity a = new Entity();

                    //a.a = i;

                    string result = JsonConvert.SerializeObject(new

                    {

                        a = i,

                        b = false,

                        s = "asdfgb",

                        d = 123.456

 

                    });

                }

                catch (Exception e)

                {

 

                }

 

            }

 

            w.Stop();

            Console.WriteLine(w.ElapsedMilliseconds);

 

            w.Reset();

            w.Start();

            for (int i = 0; i <= 1000; i++)

            {

                try

                {

                    //Entity a = new Entity();

                    //a.a = i;

                    string result = string.Format("{a: {0},b:{1},s:{2}},d:{3}",

                        i, false, "asdfgb", 123.456);

                }

                catch (Exception e)

                {

 

                }

 

            }

 

            w.Stop();

            Console.WriteLine(w.ElapsedMilliseconds);

 

            Console.Read();

        }

    }

}

 

最终结果整理:

方式:  linq  序列化  字符串

100:  28  104  11

1000:  32   108    41  

10000:  69  126  337

100000:  425  318   3341

随着次数的增加,估计反射的缓存还是很快的,序列化速度超过了linq to json,拼字符串从最快的变成最慢的

转载于:https://www.cnblogs.com/gxrsprite/p/3536888.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399739.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu 下 php 安装 zip

linux(ubuntu/centos)、windows安装php-zip扩展 PHP安装zip拓展&#xff0c;以及libzip安装问题

结对第一次作业

同学A : 031502630 - 吴松青 同学B : 031502644 - 邹星 第一次结对作业 本次作业的要求是设计一个方便部门纳新与学生选择部门的app&#xff0c;当然只是原型......刚开始怕要求实现的我们畏首畏尾&#xff0c;总得考虑到后期的实现的困难。最后老师提醒我们不需要实现后&#…

仿美团实现地域选择和城市列表

介绍 在开发O2O相关应用的时候&#xff0c;肯定会有定位&#xff0c;选择所在城市&#xff0c;选择地域&#xff0c;然后再向服务器请求该地区的相关数据&#xff0c;这时就需要我们提供一个导向让用户选择所在区域。 看来看去&#xff0c;最终还是选择模仿美团&#xff0c;感觉…

PHP5.5新特性

1 生成器 yield关键字 yield的中文文档在这里&#xff1a;http://php.net/manual/zh/language.generators.overview.php 查看文档&#xff0c;能知道yield的一个功能就是能有效的降低迭代的内存开销。比如官网的这个xrange例子&#xff1a; 12345678910111213141516171819<?…

Ubuntu16.04中php如何切换版本

其实就是一条Linux命令,如下: sudo update-alternatives --config php 会出现下面选项: There are 2 choices for the alternative php (providing /usr/bin/php).Selection Path Priority Status -------------------------------------------------------…

Java之杨辉三角的实现

今天突然想温习一下Java的基础&#xff0c;想了想就写写杨辉三角吧 1、直接法&#xff0c;利用二维数组 1 import java.util.Scanner;2 public class Second3 {4 public static void main(String[] args) {5 // TODO Auto-generated method stub6 Scanner …

MAC下面maven如何设置让其实下载源码

2019独角兽企业重金招聘Python工程师标准>>> Eclipse--->偏好设置&#xff0d;&#xff0d;&#xff0d;&#xff0d; >Maven--->download artifact source 转载于:https://my.oschina.net/u/2422498/blog/500292

chmod 777修改权限指令介绍

chmod 777修改权限指令介绍

EventBus使用详解(一)——初步使用EventBus

前言&#xff1a;EventBus是上周项目中用到的&#xff0c;网上的文章大都一样&#xff0c;或者过时&#xff0c;有用的没几篇&#xff0c;经过琢磨&#xff0c;请教他人&#xff0c;也终于弄清楚点眉目&#xff0c;记录下来分享给大家。 相关文章&#xff1a; 1、《EventBus使用…

Android应用程序打包时,出现错误:XXX is not translated in af (Afrikaans), am (Amharic), ar (Arabic).....(...

转自&#xff1a;http://blog.163.com/shexinyang126/blog/static/136739312201492144928812/ 问题&#xff1a;当我们开发完成一个Android应用程序后&#xff0c;在发布该应用程序之前必须要经过的一步时打包应用程序。 至于从打包程序到发布的完整过程可以参考&#xff1a; A…

ubuntu 16.04 + apache2 将php7.1 切换到 php7.3

背景&#xff1a; ubuntu 更新时&#xff0c;选择&#xff0c;保留当前 php 版本&#xff0c;导致出现了 多个php 版本 &#xff0c;phpinfo 显示的是 php7.1。在用 php -i 查看&#xff0c;发现&#xff0c;很多扩展打不开。 1. Ubuntu16.04中php如何切换版本 sudo update-al…

Delphi XE5教程4:程序和单元概述

内容源自Delphi XE5 UPDATE 2官方帮助《Delphi Reference》&#xff0c;本人水平有限&#xff0c;欢迎各位高人修正相关错误&#xff01;也欢迎各位加入到Delphi学习资料汉化中来&#xff0c;有兴趣者可QQ&#xff1a;34484690qq.com Programs and Units 第二章 程序和单元 Thi…

如何拿到阿里算法校招offer

好多同学有问过怎么能拿到阿里算法类校招的offer&#xff0c;刚好看到这篇文章分享给大家&#xff0c;详情可以看原文链接&#xff0c;原文链接中有视频讲解。 师兄师姐的建议&#xff1a; 之前初学算法的时候上过的公开课和看过的书 1. Coursera&#xff1a;《Machine Learnin…

通用软件/工具手册

为什么80%的码农都做不了架构师&#xff1f;>>> #sublime text ##Settings - User {"font_size": 14.0,"tab_size": 2,"scroll_past_end": true,"translate_tabs_to_spaces": true,"trim_trailing_white_space_on_sa…

php 发送邮件 - 资料收集

PHPMailer - PHP的全功能电子邮件创建和传输类

优秀的SharePoint 2013开发工具有哪些(二)

SharePoint 2013 Search Tool 搜索功能是SharePoint2013的一大亮点。SharePoint 2013 Search Tool可以让我们学习和了解查询如何被格式化&#xff0c;并让我们轻松地配置一个Search REST Query。使用SharePoint 2013 Search Tool来创建你的查询&#xff0c;就可以对它们进行分…

mixin使用场景

mixins 将两个的对象的混合为一个数组&#xff0c;彼此都可以被调用,下面为演示代码及其结果 ps:当对象键值对 键名冲突时&#xff0c;保留非mixin对象的键值对 <div id"app"></div> <script> var myMixin{ template:<h1>holle mixin<…

MS SQL 2000 分配权限

/** 分配权限 **/ use [master]create login [ln-tf\liaobin] from windows;gogrant control server to [ln-tf\liaobin]; --授予管理员完全控制权限go create login [ln-tf\shipping staff] from windows with default_database[db_packs];go use [db_packs];gocreate user ln…

PHP使用SMTP邮件服务器

https://blog.csdn.net/qq_20343517/article/details/77453666 用之前记得先去163注册一个邮箱&#xff0c;然后打开SMTP服务&#xff0c;当然也可以使用QQ邮箱等&#xff0c;但配置信息得改。 话不多说&#xff0c;直接上代码 email.class.php 定义发送邮件的库 <?php …

使用jquery解析xml

使用Jquery解析XML&#xff1a;$.ajax({ url: ajax/test.xml, dataType : xml, cache: false, success: function(xml) { $("AUTHOR", xml).each(function(id) { AUTHOR $("AUTHOR", xml).get(id); …