小编diz*_*l3d的帖子

为什么50个线程比4个快?

DWORD WINAPI MyThreadFunction(LPVOID lpParam) {
    volatile auto x = 1;
    for (auto i = 0; i < 800000000 / MAX_THREADS; ++i) {
        x += i / 3;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

此函数在MAX_THREADS线程中运行.
我已经使用Concand Visualizer 和Intel运行了Intel Core 2 Duo,Windows 7,MS Visual Studio 2012上的测试.(4个线程)在7.1秒内完成,但是(50个线程)在5.8秒内完成,同时有更多的上下文切换. 我在英特尔酷睿i5,Mac OS 10.7.5上运行了相同的测试,并得到了相同的结果.MAX_THREADS=4MAX_THREADS=50
test1test2test1test2

c++ cpu multithreading intel

23
推荐指数
1
解决办法
2284
查看次数

如何防止在 BundleTransformer 中使用 *.min.js?

我使用BundleTransformer.Core 1.9.25。我已将angular-animate.js包含在捆绑包中。但在生成的捆绑文件中我看到了错误:

/* Minification failed. Returning unminified contents.
(402,118-125): run-time error JS1019: Can't have 'break' outside of loop: break a
Run Code Online (Sandbox Code Playgroud)

原因是该包使用Angular-animate.min.js而不是Angular-animate.js。当我删除Angular-animate.min.js文件时,它使用Angular-animate.js并且没有错误。

Web.config包含:

<bundleTransformer xmlns="http://tempuri.org/BundleTransformer.Configuration.xsd">
  <core>
    <js usePreMinifiedFiles="false">
      <translators>
        <add name="NullTranslator" type="BundleTransformer.Core.Translators.NullTranslator, BundleTransformer.Core" enabled="false" />
      </translators>
      <minifiers>
        <add name="NullMinifier" type="BundleTransformer.Core.Minifiers.NullMinifier, BundleTransformer.Core" />
      </minifiers>
      <fileExtensions>
        <add fileExtension=".js" assetTypeCode="JavaScript" />
      </fileExtensions>
    </js>
  </core>
</bundleTransformer>
Run Code Online (Sandbox Code Playgroud)

如您所见,usePreMinifiedFiles=false属性不会阻止使用现有的*.min.js文件。

asp.net bundle

5
推荐指数
1
解决办法
1525
查看次数

为什么4个进程优于4个线程?

void task1(void* arg) {
    static volatile long res = 1;
    for (long i = 0; i < 100000000; ++i) {
        res ^= (i + 1) * 3 >> 2;
    }
}
Run Code Online (Sandbox Code Playgroud)

4个线程,同时工作,执行任务1 193周在30秒的时间.但4个过程中,同时工作,执行任务1 348周在30秒的时间.为什么会有这么大的差异?我在[Mac OS X 10.7.5,Intel Core i5(4个逻辑核心)]上测试了它.想想,在Windows和Linux中存在同样的差异.

c++ multithreading operating-system intel

2
推荐指数
2
解决办法
163
查看次数

标签 统计

c++ ×2

intel ×2

multithreading ×2

asp.net ×1

bundle ×1

cpu ×1

operating-system ×1