我想知道在vb.net中检查数组是否为空的最快方法.该数组已经初始化,所以我不能使用任何查看它的检查.这是以下的当前代码:
If Not (cubes(threadnumber)(i).objects.GetLength(0) = 0) Then
cubes(threadnumber)(i).objects = New Double() {}
ReDim cubes(threadnumber)(i).objects(-1)
End If
Run Code Online (Sandbox Code Playgroud)
我已经做了一些测试,我知道使用'.getupperbound'要快一点,但我不确定这是否可行,因为我认为'.getupperbound'如果数组长度为1则返回0.
任何/所有加快速度的方法(甚至是分数)都将非常有用.这个程序需要很长时间才能完成,上面代码的第一行是很大一部分时间,它被称为1.36亿次.
此外,如果有人知道如何加速"下一个"循环,这也是伟大的!
谢谢 :)
弗雷泽
我正在尝试从使用 protobuf 的程序创建的文件中获取原始 protobuf 消息。我不拥有源程序或任何东西,但我会对 的输出感到满意protoc --decode_raw。不幸的是,这不起作用,因为我收到“无法解析输入”错误。我相信这是因为文件中存在 protobuf 数据的标头。源程序是DOTA2,文件开头是这样的;
50 42 44 45 4d 53 32 00 f0 54 0e 03 f7 bf 0d 03
01 ff ff ff ff 0f 7b 0a 08 50 42 44 45 4d 53 32
00 10 2c 1a 2e 56 61 6c 76 65 20 44 6f 74 61 20
32 20 45 55 20 4e 6f 72 74 68 20 53 65 72 76 65
72 20 28 …Run Code Online (Sandbox Code Playgroud) 所以我正在尝试研究如何在vb.net中使用我的GPU进行处理.我发现了一个看起来很棒的c#教程(对于c#用户来说看起来很简单).无论如何,我对c#的了解非常糟糕,我无法将事情从c#转移到vb.net.
这是链接:
http://www.codeproject.com/Articles/202792/Using-Cudafy-for-GPGPU-Programming-in-NET
如果有人可以将其转换为vb.net代码(这是有道理的)那么那就太好了.否则,如果有人可以给我一个非常简单的vb.net示例,基于本教程(或其他任何东西)在GPU上运行矢量操作,那么这可能会更好!:d
vb.net ×2
arrays ×1
c# ×1
cuda ×1
gpgpu ×1
optimization ×1
performance ×1
protobuf-net ×1
protocols ×1