Beautify T4 of mpc.exe and reduce local variables of the deserialization#1074
Beautify T4 of mpc.exe and reduce local variables of the deserialization#1074pCYSl5EDgo wants to merge 8 commits intoMessagePack-CSharp:masterfrom
Conversation
Refactor common codes between int/string key into function More strict namespace Add some logic to the string-key Optimize int-key when member array is empty
|
Added some optimizations. During deserialization
|
|
I think about that braking change. |
If the object can be created before acutual deserialization, the stack local variables can be removed.
|
Circle CI is unstable. |
We're not using Circle CI.
Why is the stack allocation important?
It's unclear to me what the value is though. We should only take breaking changes if their value significantly outweighs the risk of breaking folks, and I don't see reducing the stack size as significantly valuable. Are you aware of something that makes this valuable? |
AArnott
left a comment
There was a problem hiding this comment.
Rejecting this till the breaking change is justified and the dynamic resolver change can be made at the same time, with tests.
This behavior may not be desirable, but the test documents current behavior. See MessagePack-CSharp#1074 (comment)
This behavior may not be desirable, but the test documents current behavior. See MessagePack-CSharp#1074 (comment)
|
@AArnott I made a DynamicResolver change and test for it.
It is valuable. If the programmers can avoid the local variables, the programmers should. (It is a good act to write local variables to help them understand as far as C# compiler can remove the local variables) |
This is a refactoring of int-key mpc.exe tt file.
This is a refactoring of int-key mpc.exe tt file.
* This is a cherry-pick of #1074. This is a refactoring of int-key mpc.exe tt file. * Change the format to decrease template part lines. Change the iterator `i` type from `int` to `var`. * fix CRLF * Change: var to globall:: Revert: DepthStep position Revert: }#> -> } #> * Fix: space * Fix: Line Feed * Fix: var -> global::MessagePack.IFormatterResolver
…rp#1092 commit d7a50b9 Merge: 02ae418 5a6cda6 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 09:33:45 2020 +0900 Merge remote-tracking branch 'upstream/develop' into solution#1085-mpc commit 02ae418 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 09:25:20 2020 +0900 Update: Loop demonstration commit d84ae75 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 09:24:31 2020 +0900 Change: drop deserialized value -> reader.Skip() commit 9b0d4a2 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 00:27:10 2020 +0900 Fix: remove unused boolean local variables commit fdfabeb Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 00:00:28 2020 +0900 Update: Make the same as Dynamic commit bef4692 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 19:37:11 2020 +0900 Add test project commit a8fac80 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 18:55:27 2020 +0900 Add types to sandbox commit 6ffc3c3 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 18:45:40 2020 +0900 Update: string-key mpc.exe commit 44819e6 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 18:05:24 2020 +0900 Update: int-key mpc.exe commit 0a2fef4 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 12:12:57 2020 +0900 Fix: var -> global::MessagePack.IFormatterResolver commit 086aa11 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 12:05:21 2020 +0900 Fix: Line Feed commit 39d3d08 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 12:03:37 2020 +0900 Fix: space commit c57f423 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 12:00:32 2020 +0900 Change: var to globall:: Revert: DepthStep position Revert: }#> -> } #> commit de6fd23 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sat Oct 24 11:04:44 2020 +0900 fix CRLF commit 4b6ae7c Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sat Oct 24 10:59:50 2020 +0900 Change the format to decrease template part lines. Change the iterator `i` type from `int` to `var`. commit 95f41ad Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Fri Oct 23 21:03:54 2020 +0900 This is a cherry-pick of MessagePack-CSharp#1074. This is a refactoring of int-key mpc.exe tt file.
This behavior may not be desirable, but the test documents current behavior. See MessagePack-CSharp/MessagePack-CSharp#1074 (comment)
This behavior may not be desirable, but the test documents current behavior. See MessagePack-CSharp/MessagePack-CSharp#1074 (comment)
Refactor common codes between int/string key into function.
More strict namespace.
Add some logic to the string-key.
Optimize int-key when member array is empty.
I tried reducing the
using System.Buffers;andusing MessagePack;but I failed.