小编ana*_*oly的帖子

为什么这个主要测试如此缓慢?

此代码取自"Haskell之路逻辑,数学和编程"一书.它实现了eratosthenes算法的筛选并解决了Project Euler Problem 10.

sieve :: [Integer] -> [Integer]
sieve (0 : xs) = sieve xs
sieve (n : xs) = n : sieve (mark xs 1 n)
  where
    mark :: [Integer] -> Integer -> Integer -> [Integer]
    mark (y:ys) k m | k == m = 0 : (mark ys 1 m)
                    | otherwise = y : (mark ys (k+1) m)

primes :: [Integer]
primes = sieve [2..]

-- Project Euler #10
main = print $ sum $ takeWhile …
Run Code Online (Sandbox Code Playgroud)

primes haskell sieve-of-eratosthenes

10
推荐指数
3
解决办法
771
查看次数

AVM2支持哪种优化?

我想知道,AVM2(ActionScript 3 VM)支持哪种优化?我知道它使用JIT,但它支持死代码消除,常量折叠,内联等.

对我来说,ActionScript编译器也做了一些优化也很有趣.AFAIK C#编译器执行非常小的优化集(只有语言支持需要),JIT完成所有工作.而且它的工作速度非常快.

谢谢.

感谢MPD.AVM2支持:

  • 恒定折叠
  • 复制和常量传播
  • 常见的表达消除(CSE)
  • 死代码消除(DCE)

actionscript-3 avm2 compiler-optimization

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