NET Framework 4.5新特性 (三)64位平台支持大于2 GB大小的数组

 

64位平台.NET Framework数组限制不能超过2GB大小。这种限制对于需要使用到大型矩阵和向量计算的工作人员来说,是一个非常大问题。

 

无论RAM容量有多大有多少,一旦你使用大型矩阵和向量计算工作的时候,经常会抛出一个System.OutOfMemoryException异常,如下图所示:

 

 

参考程序

 class Program
    {
        private static void Main(string[] args)
        {
            int arrysize = 150000000;
            var large=new decimal[arrysize];
            Console.ReadLine();

        }
    }

 

值得庆幸的是。NET Framework 4.5引入了一个配置属性在运行时模式,使阵列总大小大于2 GB 64位应用程序。

您只需要启用gcAllowVeryLargeObjects元素控制.NET garbage-collection system(垃圾收集系统)的行为就可以了。

参考模板

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <runtime>
      <gcAllowVeryLargeObjects enabled="true" /> 
    </runtime>
</configuration>

可以看下结果没有抛出异常,可以正常的运行,如下

 

这种方式,可以更好地利用可用的内存使用巨大的数组时在64位平台上。

你可以把这个设置与garbage-collection system(垃圾回收系统)结合改进。但是.NET Framework 4.5与.NET Framework 4.0数组的元素的最大数量仍然一样。

 

 

 

 

转载于:https://www.cnblogs.com/david1989/p/3855977.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
.NET Framework 4.5-x86-x64是一种由微软公司开发的应用程序框架。它提供了一种创建和运行各种类型应用程序的环境,包括桌面应用程序、Web应用程序和移动应用程序。 使用.NET Framework 4.5-x86-x64,开发人员可以利用其强大的功能来创建功能丰富、高性能的应用程序。它提供了一系列的类库和工具,可以轻松地处理各种任务,例如图形处理、数据访问和网络通信。它还支持多种编程语言,包括C#、Visual Basic和F#等,使开发人员可以按照自己的喜好选择最适合自己的编程语言。 对于应用程序的部署,.NET Framework 4.5-x86-x64提供了高度灵活性和可移植性。开发人员可以将应用程序打包成自包含的可执行文件,方便用户在不同计算机上安装和运行。此外,.NET Framework 4.5-x86-x64还支持与现有系统和应用程序的集成,使应用程序能够与其他软件进行无缝协作。 作为一个跨平台的框架,.NET Framework 4.5-x86-x64可以在多个操作系统上运行,包括Windows、Linux和macOS等。这为开发人员提供了更大的灵活性和选择性,使他们可以根据不同的需求和目标平台选择最适合的环境。 总之,.NET Framework 4.5-x86-x64是一个功能强大、灵活性高的应用程序框架,它为开发人员提供了丰富的工具和资源,使他们能够轻松地创建出各种类型的应用程序,并在不同平台上进行部署和运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值