Using Strict and StrictData by default#454
Using Strict and StrictData by default#454kazu-yamamoto wants to merge 5 commits intohaskell:masterfrom
Conversation
|
Cc: @vdukhovni |
|
Relating to #412 |
|
I like |
|
I know a person who like My motivation is to make it easier to debug memory (or space) leak. Without these pragmas, I need to suspect everything. For performance, we have a profiling. If performance gets poor, we can try adding lazy patterns with profiling. But for memory leak, we don't have good tools at all. |
|
Is there a space leak in the Network library that motivates these changes? You can find space leaks with cost-centre annotations and tools that report memory use by cost-centre. This is not that difficult. Many space leaks are taken care of via |
|
I don't know that Even I realized that I can split this PR into three:
I guess that @vdukhovni agrees with 1) and 2). What do other guys think? Please speak up. |
|
I'm closing this in favor of #457. |
To avoid unexpected behavior, let's use
StrictandStrictDatafor version 4. This PR include:sizeOfandalignmentwhereundefinedis typically passed.undefinedas much as possible.Discussion:
sizeOfSockAddrreturns 0. I don't know why. See 6bff610 for my workaround. Without this commit, the test fails.undefineds still remain. For instance,siz = sizeOf (undefined :: a). We need to check if these do not harm.