lilydjwg / swapview-rosetta

Print swap usage per process. Implemented in various programming languages
493 stars 108 forks source link

尝试优化了一下 Haskell 实现,并且添加了一个并行的版本 #148

Closed swordfeng closed 5 years ago

swordfeng commented 5 years ago

改动比较简单,优化只是把不适合大量文本处理的 String 换成了 Text

swordfeng commented 5 years ago

如果测出来比原来的结果差就算了,我本地简单测试应该会变好的,但是我不能说笔记本上的环境够稳定……

lilydjwg commented 5 years ago

好耶,测试结果变好了很多~

PS: 在 broken 目录里有个 Haskell2 版本,也是比较快的,不过现在在 Arch 上编译不过了。

你的 Haskell_parallel 版本也编译不过,monad-parallel 不在源里并且报错了。源里有 monad-par 你要不要试试?

swordfeng commented 5 years ago

这两个不太一样…… monad-parallel 是直接提供 forM 这样的一些并行化后的 IO 操作的, monad-par 是带有并行语义的 Monad ,看起来需要自己做调度。如果不行先把 Haskell_parallel 去掉吧。话说不能用 stack 么,如果能用 stack 依赖问题就好办了。

lilydjwg commented 5 years ago

stack 我没怎么用过,好像会下很多很多东西? 可以先把 Haskell_parallel 丢 broken 里去。

swordfeng commented 5 years ago

Just updated. 之后看看怎么修。 stack 是会下载很多东西,类似 npm & virtualenv 的。