问题标签 [coalescing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
222 浏览

clojure - clojure:我可以定义隐式转换可能性吗?

我有一个名为的协议IExample,我定义了一个A实现它的记录类型:

假设我想扩展另一种(基本)类型B来实现这个协议,但我知道如何从 toB转换A

因为我有这个转换,我可以通过委派他们将所有协议调用IExample委托BIExample协议A

然而,这似乎是大量不符合 clojure 习惯的样板文件(尤其是对于更大的协议)。

我如何告诉 clojure 只是隐式转换BA每次IExampleB对象上调用函数时,使用该B-to-A函数?

0 投票
4 回答
639 浏览

c# - 抽象基类/派生类的空合并问题

为什么 C# null 合并运算符无法解决这个问题?

这将给出错误

操作员 ??不能应用于 Dog 和 Cat 类型的操作数

考虑到以下编译,这似乎很奇怪。

下面的上下文代码:

0 投票
2 回答
1063 浏览

scala - Scala中的延迟合并选项

我有几种计算价值的方法,以降低偏好。

这些中的每一个都返回一个Option. 我想“合并”这些并获取Option其中第一个返回的值Some,或者None如果全部返回None

当然,如果firstWay()返回 a Some,我不应该计算其余部分。

什么是最惯用(或至少合理可读)的方式来做到这一点?

0 投票
1 回答
104 浏览

c++ - 不完整的全局内存访问是否合并?

它是否合并,如果n < warpSize

这种情况出现在循环的最后一次迭代中,如果一些N不能被warpSize. 我应该在这些情况下运行并分配设备内存只能被整除warpSize还是按原样合并?

0 投票
4 回答
1006 浏览

c# - 具有 3 个可能的返回值的 C# 合并运算符?

只需阅读此运算符的规范,??因为它采用左侧,如果 null 返回右侧的值。

我的问题是,我可以让它返回 3 个可能的值吗?

像这样的东西:

这可能吗?

0 投票
1 回答
1294 浏览

windows - Windows 7 之前的定时器合并

在 Windows 7 和 Windows 8 中有计时器合并支持,例如:Timer coalescing in .net
Windows 7 有一个功能SetWaitableTimerEx,据称它支持此处此处的合并。 根据 MSDN,
Windows 8 还具有支持合并的功能。SetCoalescableTimer


很多关于 Windows 7 和 Windows 8 中的计时器合并的讨论。但是看起来它可能已经更早地实现了。是这样吗?


首先,SetThreadpoolTimer由于Vista在Vista下提供了定时器合并,是否可用。还是它只提供接口,实际上只在 Windows 7 之后才实现合并?
“线程池计时器和 I/O”我可以读到

“这实际上是一个影响能源效率并有助于降低整体功耗的功能。它基于一种称为定时器合并的技术。”

这句话对所有支持SetThreadpoolTimer功能的 Windows 版本都正确吗?


其次,现在我开始怀疑了。我可以看到它timeSetEvent可用,因为 XP有一个名为uResolution. timeBeginPeriod这个参数是像在定时器事件等待期间一样改变全局定时器分辨率,还是只影响这个特定的定时器,还提供定时器合并


最后,在 Windows XP 或 Vista 下是否有任何附加或替代功能可以提供定时器合并?

0 投票
1 回答
242 浏览

ios - Objective-c 如何批量读取多个操作

我正在对存储在磁盘上的同一资源执行多个读取操作。

有时,读取操作本身比对同一资源的请求之间的时间要长。在这些情况下,将读取操作批量处理为来自磁盘的一个读取请求,然后将相同的结果返回给各个请求者是有意义的。

最初我尝试缓存来自初始获取资源请求的结果 - 但这不起作用,因为读取资源所花费的时间太长,并且新请求进来 - 这意味着他们也会尝试获取资源。

是否可以将附加请求“附加”到已经在进行中的请求?

我现在拥有的代码遵循这个基本结构(这还不够好):

0 投票
2 回答
2430 浏览

opencl - 具有内存合并的 OpenCl 矩阵转置

我目前正在尝试通过内存合并在 OpenCl 中转置矩阵。

我已经以“简单”的方式转换了矩阵,效果很好。当我现在尝试用内存合并做同样的事情时,我希望看到执行时间有一点改进,但​​我的实现实际上比简单的实现要慢(实现是正确的,只是效率不高)。我想我还没有完全理解如何确保水平相邻的工作项写在水平相邻的地址上。

这是我的联合实现的内核:

希望有人能给我建议,谢谢:)

0 投票
0 回答
241 浏览

xml - Xerces XML 文档生成器不合并 CDATA

从 Java1.2 和 Apache Xerces DomParser 升级到 Java1.7 和 Xerces JAXP DocumentBuilder 后,尽管使用“setCoalescing(true);”初始化 DocumentBuilderFactory,但升级后的解析完成且没有错误,但不会“解包”CDATA 元素。</p>

也就是说,输入的 XML 元素如原样<ITEMDESC><![CDATA[ Sales Bom Material,Dist]]></ITEMDESC>返回。

代码如下所示。

我是 XML 解析的新手,所以我很可能遗漏了一些非常基本的东西。

我们的输入 XML 实际上有数百个不同的标签,因此我们需要一个无需更改每个元素“get”即可工作的解决方案。

获得“setCoalescing(true);”是否还有其他要求/提示/提示/技巧?去工作 ?

在此先感谢您的任何建议。

代码:

0 投票
0 回答
111 浏览

simd - Xeon Phi:不可能实现完美的内存合并和充分利用 SMID 单元?

我有一个处理立方体(3D 图像,准确地说是光谱立方体)的 GPU/CUDA 代码。把立方体想象成一系列图像/切片,或者,一堆具有不同空间位置(在正方形上)的光谱。图像的每个像素具有不同的 x、y 值和相同的 z。光谱上的每个像素具有相同的 x,y 但不同的 z。多维数据集的内存以某种方式对齐,以便两个连续的内存地址对应于 x 和 x+1。

在我的 CUDA 代码中,我将每个 CUDA 线程配置为处理不同的频谱。这样我就可以实现全局内存合并。然后我将此代码移植到 Intel Phi (#pragma offload+OpenMP)。就像在 GPU 的情况下,我有每个 Phi 核心来处理不同的频谱。因此,这里也实现了内存合并。但是,性能很差。

  • 我认为问题在于,尽管我与全局内存合并,但每个光谱中的像素不在连续的内存地址上,因此,Phi 的矢量化并没有提供任何性能改进。(请记住,每个核心都会在相关频谱上进行某种缩减;更准确地说,它会计算一阶、二阶和三阶矩)。这个想法有意义吗?
  • 如果我没记错的话,为了从 SIMD 中获得性能,你的内存地址必须是连续的,对吧?
  • 因此,在 Xeon phi 上似乎不可能实现完美的内存合并全局内存并同时充分利用 SIMD。这是有道理的还是我完全错了?

PS:我使用的是英特尔至强融核 7120