C#泛型与非泛型性能比较的实例
发布时间:2022-01-31 17:26:51
标签:泛型,非泛型
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication
{
class Program
{
static int length = 1000 * 1000;
static void Main(string[] args)
{
int iteration=10;//方法执行次数
CodeTimer.Time("值类型处理-泛型方法", iteration, Test1);
CodeTimer.Time("值类型处理-非泛型方法", iteration, Test2);
//CodeTimer.Time("引用类型处理-泛型方法", iteration, Test3);
//CodeTimer.Time("引用类型处理-非泛型方法", iteration, Test4);
Console.ReadKey();
}
/// <summary>
/// 值类型泛型方法
/// </summary>
static void Test1()
{
List<int> l = new List<int>();
for (int i = 0; i < length; i++)
{
l.Add(i);
int a = l[i];
}
l = null;
}
/// <summary>
/// 值类型非泛型方法
/// </summary>
static void Test2()
{
ArrayList a = new ArrayList();
for (int i = 0; i < length; i++)
{
a.Add(i);
int s = (int)a[i];
}
a = null;
}
/// <summary>
/// 引用类型泛型方法
/// </summary>
static void Test3()
{
List<string> l = new List<string>();
for (int i = 0; i < length; i++)
{
l.Add("l");
string s = l[i];
}
}
/// <summary>
/// 引用类型的非泛型方法
/// </summary>
static void Test4()
{
ArrayList a = new ArrayList();
for(int i=0;i<length;i++)
{
a.Add("a");
string s = (string)a[i];
}
a = null;
}
}
}
值类型的泛型与非泛型的性能比较,方法执行10次,由此可见 使用泛型要比非泛型的效率高很多。


猜你喜欢
- springMVC的生命周期,听到的时候都没有反应过来,springMVC还有生命周期?现在看来生命周期就是springMVC的流程,Spr
- 前言众所周知,encache是现在最流行的java开源缓存框架,配置简单,结构清晰,功能强大。通过注解 @Cacheable 可以快速添加方
- @Transactional跟@DS动态数据源注解冲突背景前阵子写一个项目时,有个需求是要往3个库,3个表里插入数据,在同一个方法里,公司是
- 本文实例讲解Android百度地图定位后获取周边位置的实现代码,分享给大家供大家参考,具体内容如下效果图:具体代码:1.布局文件<?x
- 本文实例讲述了Java ThreadLocal类应用。分享给大家供大家参考,具体如下:一 点睛ThreadLocal,是Thread Loc
- //FilterKalman.csnamespace FusionFiltering{public class FilterKalman &
- 目录前言示例参考:前言按需加载对象延迟加载实际是推迟进行创建对象,直到对其调用后才进行创建初始化,延迟(懒加载)的好处是提高系统性能,避免不
- 在.net4.0以后异步操作,并行计算变得异常简单,但是由于公司项目开发基于.net3.5所以无法用到4.0的并行计算以及Task等异步编程
- @PathVariable接收两个参数首先@PathVariable无法接收对象,但是可以接收多个值var data = obj.data;
- Groovy简介Groovy 是增强 Java 平台的唯一的脚本语言。它提供了类似于 Java 的语法,内置映射(Map)、列表(List)
- 目录一、使用BeanFactoryPostProcessor注入Bean:第一步:创建实现SpringUtils 接口工具(组件)来获取sp
- 在进行java编程的时候,我们可以生成可运行的jar文件,但是鉴于平台的不同,我们可能需要将jar文件转化为exe格式。今天,小编就用一款叫
- 站点IP访问频率限制 针对单个站点using System;using System.Collections.Generic;u
- MQ:消息队列/消息中间件/消息代理,产品有很多,ActiveMQ RabbitMQ RocketMQ Kafka1、Stream解决的痛点
- 1、fragment简介我对fragment的理解是基于activity的,对于大多数的基本开始发时,我们最先遇到的就是用activity来
- 本次和大家分享的是怎么来消费服务,上篇文章讲了使用Feign来消费,本篇来使用rest+ribbon消费服务,并且通过轮询方式来自定义了个简
- 这里以JDK 7U15在 Windows x86平台下的安装为例,其他平台安装与此类同。下载JDK请查看:JDK最新下载地址【含下载方法】①
- 废话不多说了,直接给大家贴代码了,具体代码如所示:/** * get方法的文件下载 * <p> &n
- 今天给大家提供一个由今天给大家提供一个由Java swing实现的酒店管理系统,数据库采用sqlserver,我会贴上部分代码,完整的代码请
- jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS