小编b1g*_*ar5的帖子

Haskell 速度问题,执行程序的两个部分比单独执行任一部分花费的时间要长得多

我有一个 Haskell 程序,主要有两行代码:

putStrLn $ "Day11: part1: " ++ show (sum $ bigManhattan 1 galaxies <$> pairs)
putStrLn $ "Day11: part2: " ++ show (sum $ bigManhattan 999999 galaxies <$> pairs)
Run Code Online (Sandbox Code Playgroud)

如果我注释掉其中任何一个,程序将在 0.01 秒内运行。由于两者都存在,该程序需要 90 秒的时间。

我想知道有人有什么想法吗?他们是否会竞争查看数据并互相妨碍?

编译器选项 - 我不知道其中大多数是做什么的......

ghc-options:
- -Wall
- -Wcompat
- -Widentities
- -Wincomplete-record-updates
- -Wincomplete-uni-patterns
- -Wmissing-export-lists
- -Wmissing-home-modules
- -Wpartial-fields
- -Wredundant-constraints
- -O2
Run Code Online (Sandbox Code Playgroud)

代码:

module Day11(day11) where

import Data.List ((\\))
import Data.Maybe (catMaybes)


type Coord = (Int, Int)


manhattan :: …
Run Code Online (Sandbox Code Playgroud)

performance haskell ghc

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

标签 统计

ghc ×1

haskell ×1

performance ×1