小编Pyt*_*Nut的帖子

Haskell与C++中的简单π(x)

我正在学习Haskell.我的兴趣是将它用于个人计算机实验.现在,我正试图看看Haskell有多快.许多人声称与C(++)相同,如果这是真的,我会非常高兴(我应该注意到我将使用Haskell,无论它是否快,但快速仍然是一件好事).

我的测试程序用一个非常简单的算法实现π(x):Primes数字为结果加1.素数在1和√x之间没有整数除数.这不是算法之争,这纯粹是为了编译器性能.

Haskell似乎在我的计算机上慢了大约6倍,这很好(仍然比纯Python快100倍),但这可能只是因为我是一个Haskell新手.

现在,我的问题是:如何在不改变算法的情况下优化Haskell实现?Haskell真的与C的性能平价吗?

这是我的Haskell代码:

import System.Environment

-- a simple integer square root
isqrt :: Int -> Int
isqrt = floor . sqrt . fromIntegral

-- primality test        
prime :: Int -> Bool
prime x = null [x | q <- [3, 5..isqrt x], rem x q == 0]

main = do
  n <- fmap (read . head) getArgs
  print $ length $ filter prime (2:[3, 5..n])
Run Code Online (Sandbox Code Playgroud)

这是我的C++代码:

#include <iostream>
#include <cmath>
#include <cstdlib>
using …
Run Code Online (Sandbox Code Playgroud)

c++ performance haskell

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

人们使用身份功能做什么?

例如,Haskell具有id功能,Julia具有该identity功能,并且SO上的许多问题处理身份功能.(我想在Python中你可以这样做lambda x:x)

我一直在试图想到这个功能的用例; 我失败了

身份功能的目的是什么,它的常见用例是什么?

haskell functional-programming julia

15
推荐指数
4
解决办法
3348
查看次数

匹配feColorMatrix过滤器中的颜色

我有一个灰度图像.我想过滤它,white -> color1以及black -> color2.两种颜色都是十六进制CSS语法.为了达到这个效果,我需要做什么数学运算?

我正在使用这种语法:

<!-- just an example -->
<filter id="colorMeMatrix">
  <feColorMatrix in="SourceGraphic"
    type="matrix"
    values="0 0 0 0 0
            1 1 1 1 0
            0 0 0 0 0
            0 0 0 1 0" />
Run Code Online (Sandbox Code Playgroud)

css svg css3 svg-filters

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

Emacs模糊自动完成

我真的很喜欢idoemacs中的模糊匹配.我想拥有自动完成功能.最好随着auto-complete,因为我有ac-python和其他事情设置auto-complete.我知道auto-complete如果找不到正常匹配,则提供模糊匹配,但我通常需要这样.

emacs autocomplete fuzzy ido

12
推荐指数
1
解决办法
2599
查看次数

每行的快速列shuffle numpy

我有一个大的10,000,000长度数组,包含行.我需要单独洗牌那些行.例如:

[[1,2,3]
 [1,2,3]
 [1,2,3]
 ...
 [1,2,3]]
Run Code Online (Sandbox Code Playgroud)

[[3,1,2]
 [2,1,3]
 [1,3,2]
 ...
 [1,2,3]]
Run Code Online (Sandbox Code Playgroud)

我正在使用

map(numpy.random.shuffle, array)
Run Code Online (Sandbox Code Playgroud)

但它是一个python(而不是NumPy)循环,它占用了99%的执行时间.可悲的是,PyPy JIT没有实现numpypy.random,所以我运气不好.有没有更快的方法?我愿意用任何库(pandas,scikit-learn,scipy,theano,等,只要它使用一个numpy的ndarray或衍生物.)

如果没有,我想我会使用Cython或C++.

python random numpy vectorization

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

在emacs中以sh模式打开zsh脚本

*.zsh文件在默认模式下打开(对我来说是文本模式).但是,sh-mode实际上是多种模式,包括zsh,bash等的行为.如何告诉emacs *.zsh专门在sh-mode的zsh风格中打开文件?

emacs zsh

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

Emacs框架周围的边框/框架

如何改变一些外边界或内边界的颜色?每当我更换border-color框架时,我都看不到任何变化,也不允许我改变边框宽度.

到目前为止,工作是什么

(set-frame-parameter (selected-frame) 'internal-border-width 15)
Run Code Online (Sandbox Code Playgroud)

这会在缓冲区周围添加一些框架.

但我不知道如何改变内在的颜色.有谁知道如何在工作空间周围有一个漂亮的边框/框架?

任何方法都可以.

编辑:添加了sds完成的:

我希望它周围的区域有不同的颜色,所以在红色之外.

在此输入图像描述

我找到了一个我想要完成的框架的例子(读:这就是我一直以来所做的).

示例图片

emacs border frame

6
推荐指数
1
解决办法
5269
查看次数

如何减少应用程序的"空闲唤醒"?

小牛很生气我的应用程序有太多"空闲唤醒".我知道这与计时器和OS X尝试使我的应用程序更节能的方式有关.如何调试这些空闲唤醒?或者可能的原因是什么?

macos cocoa objective-c osx-mavericks

6
推荐指数
1
解决办法
3407
查看次数

vimperator自动隐藏状态

大多数情况下,Vimperator状态行只占用空间.有没有办法自动隐藏它所以它只显示我何时使用它?

  • main_coon和_libjs在最近的firefox中不起作用

firefox vimperator

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

$ PWD总是等于$ {$ {: - .}:A}

特定

  • 现代Linux/UNIX/OSX
  • zsh 5+
  • setopt chase_links
  • PWD 没有设置异常

[[ "$PWD" == "${${:-.}:A}" ]]
Run Code Online (Sandbox Code Playgroud)

总是如此吗?

linux shell zsh

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