小编dsi*_*ign的帖子

Node.js支持的编码列表

我需要读取一个用ISO-8859-1(也称为latin1)编码的文件,如下所示:

var file_contents = fs.readFileSync("test_data.html", "latin1");
Run Code Online (Sandbox Code Playgroud)

但是,Node抱怨"latin1"或"ISO-8859-1"不是有效编码("错误:未知编码").

编码readFileSync接受的是什么?

node.js

118
推荐指数
2
解决办法
11万
查看次数

以只读模式从python打开sqlite3数据库

在使用C/C++的sqlite3时,我了解到它有一个open-in-read-only模式选项,这对于避免意外的数据损坏非常方便.Python绑定中有这样的东西吗?

python sqlite

27
推荐指数
4
解决办法
1万
查看次数

在openmp中并行循环

我正在尝试并行化一个非常简单的for循环,但这是我在很长一段时间内第一次尝试使用openMP.我对运行时间感到困惑.这是我的代码:

#include <vector>
#include <algorithm>

using namespace std;

int main () 
{
    int n=400000,  m=1000;  
    double x=0,y=0;
    double s=0;
    vector< double > shifts(n,0);


    #pragma omp parallel for 
    for (int j=0; j<n; j++) {

        double r=0.0;
        for (int i=0; i < m; i++){

            double rand_g1 = cos(i/double(m));
            double rand_g2 = sin(i/double(m));     

            x += rand_g1;
            y += rand_g2;
            r += sqrt(rand_g1*rand_g1 + rand_g2*rand_g2);
        }
        shifts[j] = r / m;
    }

    cout << *std::max_element( shifts.begin(), shifts.end() ) << endl;
}
Run Code Online (Sandbox Code Playgroud)

我用它编译它

g++ -O3 …
Run Code Online (Sandbox Code Playgroud)

c++ parallel-processing openmp

22
推荐指数
3
解决办法
5万
查看次数

Haskell/GHC每线程内存成本

我试图理解Haskell(OS X 10.10.5上的GHC 7.10.1)中的(绿色)线程有多贵.我知道它与真正的操作系统线程相比非常便宜,无论是内存使用还是CPU.

是的,所以我开始编写一个带有forks n(绿色)线程的超简单程序(使用优秀的async库),然后只需每个线程休眠m几秒钟.

嗯,这很容易:

$ cat PerTheadMem.hs 
import Control.Concurrent (threadDelay)
import Control.Concurrent.Async (mapConcurrently)
import System.Environment (getArgs)

main = do
    args <- getArgs
    let (numThreads, sleep) = case args of
                                numS:sleepS:[] -> (read numS :: Int, read sleepS :: Int)
                                _ -> error "wrong args"
    mapConcurrently (\_ -> threadDelay (sleep*1000*1000)) [1..numThreads]
Run Code Online (Sandbox Code Playgroud)

首先,让我们编译并运行它:

$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.10.1
$ ghc -rtsopts -O3 -prof -auto-all -caf-all PerTheadMem.hs
$ time …
Run Code Online (Sandbox Code Playgroud)

memory multithreading haskell ghc

20
推荐指数
1
解决办法
673
查看次数

为什么int 3以64位生成SIGSEGV而不是停止调试器?

在32位模式编程中,我习惯int 3在我的程序中使用调试器在指定位置停止(将指令嵌入源中).现在64位似乎不起作用,在gdb下生成一个非常普通的SIGSEGV并且破坏程序超出希望("程序终止于信号SIGSEGV,分段错误.程序不再存在.").我想知道64位模式是否有另一种机制,或者我是否应该做一些缓存 - 刷新(int 3在这种情况下是动态生成的操作码(0xcc),是一些类似jit的代码).

debugging assembly signals x86-64

18
推荐指数
3
解决办法
1万
查看次数

如何在Android设备上使用http/2和Okhttp?

我正在测试一个支持HTTP/2的站点,就像这样,我尝试使用okhttp发送请求:

OkHttpClient okHttpClient = new OkHttpClient();

Request request = new Request.Builder()
        .url("https://www.google.it")
        .build();


okHttpClient.newCall(request).enqueue(new Callback() {
    @Override
    public void onFailure(Request request, IOException e) {
        e.printStackTrace();
    }

    @Override
    public void onResponse(Response response) throws IOException {
        Log.d("TestHttp", "OkHttp-Selected-Protocol: " + response.header("OkHttp-Selected-Protocol"));
        Log.d("TestHttp", "Response code is " + response.code());
    }
});
Run Code Online (Sandbox Code Playgroud)

在日志中我得到了这样的东西:

OkHttp-Selected-Protocol: http/1.1
Run Code Online (Sandbox Code Playgroud)

okhttpClient选择使用http/1.1,如何强制它使用HTTP/2?

android http okhttp http2

13
推荐指数
1
解决办法
9213
查看次数

Cython C++和std :: string

从cython使用C++标准std :: string的最佳方法是什么?最后的cython发行版应该会让它变得简单,但我想知道为什么有std :: vector的包装器而不是std :: string ...

c++ python cython

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

如何在GHC中查看完整的成本中心堆栈?

我几乎得到了GHC成本中心的处理......这是一个很棒的想法,你可以用它们的分析工具来修复内存泄漏.但我的问题是我在.hp分析中得到的信息太过截断了:

(1319)GHC.Conc.Signal.CAF   640
(1300)GHC.Event.Thread.CAF  560
(2679)hGetReplies/connect/c...  112
(2597)insideConfig/CAF:lvl2...  32
(1311)GHC.IO.Handle.FD.CAF  656
(2566)setLoggerLevels/confi...  208
(2571)configureLoggingToCon...  120
(2727)reply/Database.Redis....  32
Run Code Online (Sandbox Code Playgroud)

我如何知道(2566)或(2559)中的全部成本中心堆栈是什么?是否有工具或命令行选项?

profiling haskell ghc

10
推荐指数
1
解决办法
136
查看次数

Haskell/GHC能否自行报告其GC统计数据?

我认为让服务器自我报告其内存使用情况会很方便.

我已经阅读了手册中关于内存分析的部分,但是有一些缺点:

  • 首先,这似乎只给出了验尸统计数据.
  • 启用性能分析会产生开销.
  • 我真的不需要那么多细节.

这就是我的问题,如何在GHC编译的正在运行的程序中跟踪不同的内存集?

haskell ghc

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

是否可以使用Http2跨源推送请求?

假设我有一个服务器在网址上提供HTML文件,https://example.com/这是指网址上的css文件https://test.com/mystyles.css.是否可以将mystyles.css文件作为HTTP2连接的一部分与html内容一起推送,以便浏览器使用此css内容?

我试图在我的localhost上使用自签名证书创建这样的请求(我已经为我的浏览器中的两个主机预先创建了一个安全例外),通过在请求到达时发送html文件http://localhost/,然后推送css :authorityHost标头中的不同主机名/端口.但是,在整页刷新时,CSS文件是从服务器的单独请求中获取的,而不是使用推送的css文件.

请参阅此要点以获取我用于测试此文件的文件.如果我访问http://localhost:8080/那么文本是红色的,但如果我访问http://test:8080/它是绿色的,暗示如果原点是相同的,则使用推送的内容.

是否需要使用标头组合才能使用此功能?可能调用CORS?

cors http2 http2-lawyers

9
推荐指数
1
解决办法
954
查看次数