以下示例是否可以与实体框架并行工作?
using (var dbContext = new DB())
{
var res = (from c in dbContext.Customers
orderby c.Name
select new
{
c.Id,
c.Name,
c.Role
}
).ToDictionary(c => c.Id,
c => new Dictionary<string, object> {
{ "Name",c.Name },
{ "Role", c.Role }
});
}
Run Code Online (Sandbox Code Playgroud)
例如,如果我添加AsParrallel,将会改变什么?
using (var dbContext = new DB())
{
var res = (from c in dbContext.Customers
orderby c.Name
select new
{
c.Id,
c.Name,
c.Role
}
).AsParallel().ToDictionary(c => c.Id,
c => new Dictionary<string, object> {
{ "Name",c.Name },
{ "Role", …Run Code Online (Sandbox Code Playgroud) 我有一个程序可以绘制一些地形并模拟流过它的水(以便宜又简单的方式).
使用OpenMP更新水很容易并行化,因此我每秒可以进行约50次更新.问题是,即使用少量的水,我的每秒抽吸量也非常低(从5开始,一旦有大量的水就下降到2左右).
这对视频卡来说不是问题,因为地形更加复杂,绘制得如此之快,boost::timer以至于如果我关掉水,我会得到每秒无限的绘制.它可能与内存带宽有关(因为我假设模型保留在卡上而不必每次都被转移).
我关心的是,在每次抽奖时,我都会调用glVertex3f()大约一百万次(最大尺寸为450*600,每个顶点4个),并且它完全按顺序完成,因为Glut不会让我同时调用任何东西.
那么..是否有某种方法可以并行构建列表然后将其一次性传递给OpenGL?或者其他一些方法让它更快地画出来?我使用了错误的方法(除了明显的"使用较少的顶点")?
假设我有两个共享变量 - a和b- 彼此相关.当多个应用程序共享这些共享变量时,对它们的访问需要是原子操作,否则关系可能会中断.因此,为了确保相互排斥,我会将其修改置于受锁定保护的关键部分下.
critical_code
{
P(mutex)
a := something
b := something
V(mutex)
}
Run Code Online (Sandbox Code Playgroud)
让我们说我的硬件/ OS /编译器支持原子变量.然后我按如下方式修改了上面的代码.
code
{
atomic a := something
atomic b := something
}
Run Code Online (Sandbox Code Playgroud)
当多个应用程序访问时,此代码是否可以确保互斥?
真诚的,
Srinivas Nayak
面向消息的中间件我指的是诸如高级消息队列协议之类的技术.
显然AMQP是一个与MPI不同的野兽,但我认为使用AMQP可以轻松实现以主从方式运行的分布式内存计算,让AMQP处理公平的工作分配给奴隶,因为它们完成了部分而不是管理队列在主人中明确地工作.
AMQP(如果你有成千上万一起工作的机器)的附加好处是,一台机器的死也不会失速在计算进度MPI_BcastS,因为AMQP可以简单地使用扇出代替MPI_Bcast,这将是不阻止整体计算的进度.
是否有任何AMQP用于分布式计算中的任务协调的示例?
更新: Gearman为容错分布式计算提供了一种非常好的方法.
共享内存并行编程(特别是多核)中的哪些挑战无法使用Cilk风格的解决方案(即每个核心工作窃取任务deques的嵌套数据并行性)有效解决或无法解决?
是否有任何Microsoft API用于C语言的并行编程?
谢谢你的答案,
再见
我将不得不通过简单地在URL上发布并获取XML作为回报来下载大量数据集.我可以通过一次执行多个请求来加快速度,但这里是钩子:
它需要在Windows和Linux上运行,因此线程和分叉都会出局.(因为这纯粹是IO限制的,所以我认为它们也不需要.)
此外,我的同事并不是非常高级的perl理解,但需要能够掌握如何使用它(不一定是正在发生的事情,使用情况很好).因此,如果它的API有点简单,我会很高兴.
现在我正在寻找IO :: Lambda.
还有其他建议吗?
Post-Mortem:根据draegtun的建议,我现在把它拼凑在一起,这完美地完成了这项工作:https://gist.github.com/661386你很快就会在CPAN上看到它.
使用时有没有办法保证订单Parallel.ForEach()?我正在循环的集合需要保持它的顺序,但我正在寻找一些性能改进.
parallel-processing asp.net-4.0 task-parallel-library parallel-for
我想立即通知我班级的活动订阅者.
我应该滚动自己的事件处理程序; 使用FCL中的一些支持并行性; 或默认内置System.EventHandler<T>支持这种事件通知方式?
Delphi 2006中是否有任何新的并行编程功能 - XE?
c# ×2
amqp ×1
asp.net-4.0 ×1
atomic ×1
c ×1
c++ ×1
cilk ×1
delphi ×1
download ×1
events ×1
opengl ×1
parallel-for ×1
performance ×1
perl ×1
winapi ×1