lilydjwg / swapview-rosetta

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

Use stack to build broken Haskell versions; add one more parallel version for Haskell2 #149

Closed swordfeng closed 5 years ago

swordfeng commented 5 years ago

Requires stack to build them. It will download a bunch of things including a standalone compiler; but the build is truly stable compared to cabal.

Haskell2_parallel runs faster even than C on my laptop.
I restricted the max # of threads to 4, as it won't be faster when I add more threads. I'm not sure if that is the case for other machines.

lilydjwg commented 5 years ago

Don't hard code the binary path. Use stack path --local-install-root instead. (I've updated this.)

Please solve -Wdeprecations warnings about runListT of Haskell_parallel.

swordfeng commented 5 years ago

I didn't see -Wdeprecations actually... How to reproduce it?
Here's my build process:

[swordfeng@swordfeng-XPS Haskell_parallel]$ git clean -xdf -- .
Removing .stack-work/
Removing swapview
Removing swapview.cabal
[swordfeng@swordfeng-XPS Haskell_parallel]$ stack build
Building all executables for `swapview' once. After a successful build of all of them, only specified executables will be rebuilt.
swapview-0.1.0.0: configure (exe)
Configuring swapview-0.1.0.0...
swapview-0.1.0.0: build (exe)
Preprocessing executable 'swapview' for swapview-0.1.0.0..
Building executable 'swapview' for swapview-0.1.0.0..
[1 of 2] Compiling Main             ( swapview.hs, .stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/swapview/swapview-tmp/Main.o )
[2 of 2] Compiling Paths_swapview   ( .stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/swapview/autogen/Paths_swapview.hs, .stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/swapview/swapview-tmp/Paths_swapview.o )
Linking .stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/swapview/swapview ...
swapview-0.1.0.0: copy/register
Installing executable swapview in /home/swordfeng/Projects/swapview/Haskell_parallel/.stack-work/install/x86_64-linux-tinfo6/lts-13.26/8.6.5/bin
[swordfeng@swordfeng-XPS Haskell_parallel]$ 

And if it's to deprecate in future versions, we can just lock to the current version as it has long term support.

lilydjwg commented 5 years ago

Strange, I don't see them again. Maybe it was from a dependency. Let's ignore them then.

lilydjwg commented 5 years ago

Merged, thanks!

BTW, what's the difference between Haskell and Haskell2 now? Can we merge them?

swordfeng commented 5 years ago

I haven’t dived into Haskell2 yet. It has already optimized string usage and also seems to have other optimizations. Let me check that when I get more time.

On Tue, Jun 25, 2019 at 01:57 依云 notifications@github.com wrote:

Merged, thanks!

BTW, what's the difference between Haskell and Haskell2 now? Can we merge them?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/lilydjwg/swapview/pull/149?email_source=notifications&email_token=ABGJF5EMIECDA7RITH4LGHLP4HMVZA5CNFSM4H2ZZPW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYPRJWA#issuecomment-505353432, or mute the thread https://github.com/notifications/unsubscribe-auth/ABGJF5EFILJM5KWRKHH53E3P4HMVZANCNFSM4H2ZZPWQ .

-- Best Regards, Jianfeng