当我使用线程时,为什么以下代码的性能会降低?
**1.没有线程
int[] arr = new int[100000000]; //Array elements - [0][1][2][3]---[100000000-1]
addWithOutThreading(arr); // Time required for this operation - 1.16 sec
Run Code Online (Sandbox Code Playgroud)
addWithOutThreading的定义
public void addWithOutThreading(int[] arr)
{
UInt64 result = 0;
for (int i = 0; i < 100000000; i++)
{
result = result + Convert.ToUInt64(arr[i]);
}
Console.WriteLine("Addition = " + result.ToString());
}
Run Code Online (Sandbox Code Playgroud)
**2.有线程
int[] arr = new int[100000000];
int part = (100000000 / 4);
UInt64 res1 = 0, res2 = 0, res3 = 0, res4 = 0;
ThreadStart starter1 …Run Code Online (Sandbox Code Playgroud) 为什么我们不需要指定; 在自动财产申报之后
public string Name{get;set;}
Run Code Online (Sandbox Code Playgroud)
这个语句与任何其他c#语句有多么不同
我正在使用Rails 2.3.5.
Class User < ActiveRecord::Base
has_many :phones
end
class Phone < ActiveRecord::Base
has_many :frequency_bands
end
Run Code Online (Sandbox Code Playgroud)
我想为用户获取所有frequency_bands.我知道我可以为用户编写def freq_bands方法,但我想知道是否可以为用户提供has_many freq_bands.通过这种方式,我可以链接呼叫.
我想拥有的是什么
class User < ActiveRecor::Base
has_many :frequence_bands, :through => phones
end
Run Code Online (Sandbox Code Playgroud)
我认为使用这个插件可以嵌套has_many http://github.com/ianwhite/nested_has_many_through
但是,如果可能的话,我想避免使用另一个插件并仅依靠rails.
微软已经做了一项精明的工作,没有在SOA/Web开发的精彩世界中概述数据服务的实际位置.
所以我的问题是WCF数据服务是否可以通过外部客户端使用?有没有人听说有人在服务器端使用它们(即Web服务的数据库访问)?
简单场景使用BO业务对象的一般分层架构(括号表示层之间传递的内容)
(XML)WCF服务 - >(BO)业务逻辑 - >(BO)Dao - >实体框架
或者使用数据服务,DS BO是在数据服务中使用的建模业务实体.
(XML)WCF服务 - >(BO)业务逻辑 - >(BO)WCF数据服务 - >(DS BO)服务器
我不能看到后者的使用,除非很多情况下人们会通过您的数据服务层与服务层访问您的数据?
想到任何人,任何类型的参考文档都可以帮助它.
我正在寻找利弊,以帮助像我这样的其他人定义何时/何地使用数据服务.
我有一个ViewModel树显示为TreeView(使用HierarchicalDataTemplate).每个ViewModel实例都有不同的命令可以在其上执行,它们再次作为每个项目ViewModel的命令ViewModel列表公开.如何创建单个 ContextMenu,该TreeMenu在右键单击的TreeViewItem处打开,并从基础项ViewModel的命令ViewModels列表中填充其命令?一切都在体面的MVVM时尚......
我的网络应用程序托管在上面mydomain,其中以下URI与域名相关联:blah.net.
我可以使用以下任一用户名登录:
在Windows身份验证的上下文中,每种登录类型的名称(有没有差异)是什么?
我们在数据库中遇到了以下情况.我们有表'A'和表'B',它们具有M2M关系.关联表名为'AB',包含表'A'的FK列和表'B'的FK列.现在我们已经确定需要存储有关此关联的其他数据.例如,关联发生的日期,以及谁建立关联等.我们决定将这些附加列放在"AB"关联表中.然而,有些东西告诉我这是数据库纯粹主义者所不满意的.另一方面,我们创建一个额外的表来存储这些相关数据是没有意义的.
对此有何看法?
我有一系列我将要处理的项目(大理性).在每种情况下,处理将包括删除集合中的最小项目,做一些工作,然后添加0-2个新项目(总是大于删除的项目).该集合将使用一个项目进行初始化,并且工作将继续进行,直到它为空.我不确定该系列可能达到的尺寸,但我希望在1M-100M范围内.我不需要找到除最小项目之外的任何项目.
我目前正计划使用一棵红黑树,可能会调整以保持指向最小项目的指针.但是我之前从未使用过,我不确定我的使用模式是否符合其特性.
1)是否存在从左+随机插入删除模式会影响性能的危险,例如通过要求比随机删除显着更高的旋转次数?或者删除和插入操作仍然是这个使用模式的O(log n)?
2)其他一些数据结构是否会给我带来更好的性能,要么是因为删除模式还是利用了我只需要找到最小项目的事实?
更新:很高兴我问,二进制堆对于这种情况显然是一个更好的解决方案,并且承诺结果很容易实现.
雨果
在线搜索,我发现以下例程用于计算IEEE格式的浮点符号.这也很容易扩展到双倍.
// returns 1.0f for positive floats, -1.0f for negative floats, 0.0f for zero
inline float fast_sign(float f) {
if (((int&)f & 0x7FFFFFFF)==0) return 0.f; // test exponent & mantissa bits: is input zero?
else {
float r = 1.0f;
(int&)r |= ((int&)f & 0x80000000); // mask sign bit in f, set it in r if necessary
return r;
}
}
Run Code Online (Sandbox Code Playgroud)
(来源:``32位漂浮物的快速标志'',Peter Schoffhauzer)
但是,由于二进制位操作,我厌倦了使用这个例程.我需要我的代码在具有不同字节顺序的机器上工作,但我不确定IEEE标准中有多少指定,因为我找不到今年发布的最新版本.有人能告诉我这是否有效,无论机器的字节顺序如何?
谢谢,帕特里克
.net ×1
architecture ×1
binary-tree ×1
c#-3.0 ×1
c++ ×1
contextmenu ×1
database ×1
endianness ×1
ieee-754 ×1
mvvm ×1
optimization ×1
perl ×1
php ×1
sql-server ×1
treeview ×1
wpf ×1