Skip to content

Commit a52cd3b

Browse files
authored
Merge pull request #14 from msgpack/develop
Optimized zero-sized collection decoding
2 parents 499ecd6 + ed2727b commit a52cd3b

File tree

9 files changed

+27
-7
lines changed

9 files changed

+27
-7
lines changed

repository/ConfigurationOfMessagePack.package/ConfigurationOfMessagePack.class/instance/stable..st

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ symbolic versions
22
stable: spec
33
<symbolicVersion: #stable>
44

5-
spec for: #'common' version: '1.3.0'.
5+
spec for: #'common' version: '1.3.1'.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
versions
2+
version131: spec
3+
<version: '1.3.1' imports: #('1.3.0-baseline') >
4+
5+
spec for: #common do: [
6+
spec blessing: #development.
7+
spec author: 'Masashi Umezawa'.
8+
spec
9+
package: 'MessagePack-Core' with: 'MessagePack-Core-mu.42';
10+
package: 'MessagePackTest' with: 'MessagePackTest-MasashiUmezawa.17' ].
11+
spec for: #squeakCommon do: [
12+
spec
13+
package: 'MessagePack-Squeak-Core' with: 'MessagePack-Squeak-Core-MasashiUmezawa.12'].
14+
spec for: #pharo do: [
15+
spec
16+
package: 'MessagePack-Pharo-Core' with: 'MessagePack-Pharo-Core-MasashiUmezawa.1'].

repository/ConfigurationOfMessagePack.package/ConfigurationOfMessagePack.class/methodProperties.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"baseline100:" : "MasashiUmezawa 6/27/2015 15:17",
66
"version104:" : "mu 5/2/2012 13:02",
77
"version129:" : "MasashiUmezawa 8/15/2017 23:15",
8+
"version131:" : "mu 11/9/2018 23:15",
89
"version129a:" : "MasashiUmezawa 10/11/2017 13:50",
910
"baseline120:" : "mu 10/15/2013 00:46",
1011
"version124:" : "MasashiUmezawa 11/13/2016 00:07",
@@ -24,7 +25,7 @@
2425
"version123:" : "MasashiUmezawa 6/4/2016 14:28",
2526
"version120:" : "MasashiUmezawa 10/15/2013 01:09",
2627
"version102:" : "mu 11/23/2011 22:44",
27-
"stable:" : "MasashiUmezawa 10/11/2017 14:25"
28+
"stable:" : "mu 11/9/2018 23:13"
2829
},
2930
"class" : {
3031
"catalogDescription" : "MasashiUmezawa 1/3/2016 13:00",

repository/ConfigurationOfMessagePack.package/monticello.meta/version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
(name 'ConfigurationOfMessagePack-MasashiUmezawa.29' message 'Added #preLoadForPharo for pharo specific initialization' id '30018a92-08de-4c33-9f5e-3e9e0da9518f' date '11 October 2017' time '2:44:51.009634 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.28' message 'Updated catalog description' id '65334579-a017-0d00-86bc-49880cd037ad' date '11 October 2017' time '2:31:34.023428 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.27' message 'Added 1.3 description' id 'c66d9871-a017-0d00-86bb-45790cd037ad' date '11 October 2017' time '2:29:25.260114 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.26' message 'Fixed 1.2.9a description again' id 'fcaf7beb-9f17-0d00-86b9-f2d90cd037ad' date '11 October 2017' time '1:51:55.229563 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.25' message 'Fixed 1.2.9a description' id '910e1ad1-9e17-0d00-86b7-43c00cd037ad' date '11 October 2017' time '12:32:57.656348 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.24' message 'Added 1.2.9a description' id 'fa322da5-9e17-0d00-86b5-7bf60cd037ad' date '11 October 2017' time '12:20:40.713299 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.23' message 'Marked 1.2.9 as #development' id '104871a5-8b16-0d00-ad66-e778011d085e' date '27 September 2017' time '8:15:29.1684 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.22' message 'Added 1.2.9 description' id '2c0e822a-2d13-0d00-ad28-fde801d173ae' date '15 August 2017' time '11:16:44.861693 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.21' message 'Added 1.2.8 description' id 'b35f363b-1913-0d00-bf29-23f6069d6816' date '14 August 2017' time '11:29:45.768235 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.20' message 'Added 1.2.7 description' id 'ef5d49ac-fd12-0d00-961f-b4000ade5bf7' date '13 August 2017' time '2:37:03.754209 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.19' message 'Added 1.2.6 description' id 'f54d5f4d-d812-0d00-95f8-65870032bcd7' date '11 August 2017' time '6:01:57.566283 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.18' message 'Added 1.2.5 description' id '7d266ebd-2393-4bf8-afec-c56aba4b2310' date '4 February 2017' time '10:24:14.164838 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.17' message 'Fixed MessagePackTest version' id 'e326c514-2014-4f41-b650-98c956d8f38b' date '13 November 2016' time '12:08:39.897191 am' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.16' message 'Added version 1.2.4 description' id '70af5567-66c7-844b-b599-c0f82e81fef3' date '12 November 2016' time '11:33:10.891191 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.15' message 'Added version 1.2.3 description' id '936b7750-5fb4-5444-8cfd-e7432e9428ab' date '4 June 2016' time '2:31:00.743615 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.14' message 'Added catalog info' id '5277f5e5-8777-5940-b186-d7ffcd49a2af' date '3 January 2016' time '1:05:15.708623 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.13' message 'Stable version is set to 1.2.2' id '230be898-eb51-da41-b725-47ac066d10d3' date '3 January 2016' time '12:39:11.809623 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MU.12' message '- Added version 1.2.2 configuration.- 1.2.2 is the latest development version' id '98f7cbdf-e808-d24a-9ccf-c0f51af91146' date '19 December 2015' time '11:33:43.022 pm' author 'MU' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.11' message 'Fixed some validation errors' id '9c90c6e4-5bf0-456e-9533-fbab3071731e' date '27 June 2015' time '3:20:08.758362 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.10' message 'Added version 1.2.1 spec' id '6876af65-f092-4be5-959d-590593da4246' date '14 June 2015' time '11:35:30.409191 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.9' message 'Added version120' id 'ee574050-6c95-3245-8ba4-bc08d0988c47' date '15 October 2013' time '1:11:56.97 am' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-mu.8' message 'Added baseline120' id '8cd96180-b269-7b4f-85e6-bf51f30d07b8' date '15 October 2013' time '12:50:15.76 am' author 'mu' ancestors ((name 'ConfigurationOfMessagePack-mu.7' message 'Added config for 1.0.4' id '33f88b08-2d95-c542-9be2-8928b1b0b569' date '2 May 2012' time '1:03:06.151 pm' author 'mu' ancestors ((name 'ConfigurationOfMessagePack-mu.6' message 'version 1.0.3' id '6630ca6a-3817-eb45-8125-504dc91a9c3a' date '23 November 2011' time '11:02:08.711 pm' author 'mu' ancestors ((name 'ConfigurationOfMessagePack-AlexandreBergel.5' message 'Dale fixed a number of errors in it' id '38f583fb-c3ca-43c2-a4ad-fafed0bfdbf3' date '29 August 2011' time '3:53:13 pm' author 'AlexandreBergel' ancestors ((name 'ConfigurationOfMessagePack-mu.4' message 'version 1.0.2 (bug fix of negative fix num)' id '64136094-779f-2b48-8b72-1dfbaaa928b1' date '16 July 2011' time '1:14:22.239 am' author 'mu' ancestors ((name 'ConfigurationOfMessagePack-mu.3' message 'version 1.0.1' id '631d161f-3466-8144-9eb4-77fbf7be6644' date '7 June 2011' time '9:29:42.702 pm' author 'mu' ancestors ((name 'ConfigurationOfMessagePack-mu.2' message 'Fixed version' id 'ae6267f7-d91c-454f-9b9f-199903c2592e' date '2 June 2011' time '5:48:45.344 pm' author 'mu' ancestors ((name 'ConfigurationOfMessagePack-mu.1' message 'Initial version: http://code.google.com/p/messagepack-st/' id 'e64620bc-880e-2e4e-9814-4c8bb9e6675f' date '2 June 2011' time '3:55:04.744 pm' author 'mu' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())
1+
(name 'ConfigurationOfMessagePack-mu.31' message 'Added 1.3.1 description' id 'f2bc28b8-9d36-0d00-9f27-dcc60931b5fd' date '9 November 2018' time '11:15:24.681895 pm' author 'mu' ancestors ((name 'ConfigurationOfMessagePack-mu.30' message 'Added 1.3.1 description' id '7c1609b4-9d36-0d00-9f26-6bee0931b5fd' date '9 November 2018' time '11:14:15.498787 pm' author 'mu' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.29' message 'Added #preLoadForPharo for pharo specific initialization' id '30018a92-08de-4c33-9f5e-3e9e0da9518f' date '11 October 2017' time '2:44:51.009634 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.28' message 'Updated catalog description' id '65334579-a017-0d00-86bc-49880cd037ad' date '11 October 2017' time '2:31:34.023428 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.27' message 'Added 1.3 description' id 'c66d9871-a017-0d00-86bb-45790cd037ad' date '11 October 2017' time '2:29:25.260114 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.26' message 'Fixed 1.2.9a description again' id 'fcaf7beb-9f17-0d00-86b9-f2d90cd037ad' date '11 October 2017' time '1:51:55.229563 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.25' message 'Fixed 1.2.9a description' id '910e1ad1-9e17-0d00-86b7-43c00cd037ad' date '11 October 2017' time '12:32:57.656348 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.24' message 'Added 1.2.9a description' id 'fa322da5-9e17-0d00-86b5-7bf60cd037ad' date '11 October 2017' time '12:20:40.713299 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.23' message 'Marked 1.2.9 as #development' id '104871a5-8b16-0d00-ad66-e778011d085e' date '27 September 2017' time '8:15:29.1684 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.22' message 'Added 1.2.9 description' id '2c0e822a-2d13-0d00-ad28-fde801d173ae' date '15 August 2017' time '11:16:44.861693 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.21' message 'Added 1.2.8 description' id 'b35f363b-1913-0d00-bf29-23f6069d6816' date '14 August 2017' time '11:29:45.768235 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.20' message 'Added 1.2.7 description' id 'ef5d49ac-fd12-0d00-961f-b4000ade5bf7' date '13 August 2017' time '2:37:03.754209 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.19' message 'Added 1.2.6 description' id 'f54d5f4d-d812-0d00-95f8-65870032bcd7' date '11 August 2017' time '6:01:57.566283 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.18' message 'Added 1.2.5 description' id '7d266ebd-2393-4bf8-afec-c56aba4b2310' date '4 February 2017' time '10:24:14.164838 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.17' message 'Fixed MessagePackTest version' id 'e326c514-2014-4f41-b650-98c956d8f38b' date '13 November 2016' time '12:08:39.897191 am' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.16' message 'Added version 1.2.4 description' id '70af5567-66c7-844b-b599-c0f82e81fef3' date '12 November 2016' time '11:33:10.891191 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.15' message 'Added version 1.2.3 description' id '936b7750-5fb4-5444-8cfd-e7432e9428ab' date '4 June 2016' time '2:31:00.743615 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.14' message 'Added catalog info' id '5277f5e5-8777-5940-b186-d7ffcd49a2af' date '3 January 2016' time '1:05:15.708623 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.13' message 'Stable version is set to 1.2.2' id '230be898-eb51-da41-b725-47ac066d10d3' date '3 January 2016' time '12:39:11.809623 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MU.12' message '- Added version 1.2.2 configuration.- 1.2.2 is the latest development version' id '98f7cbdf-e808-d24a-9ccf-c0f51af91146' date '19 December 2015' time '11:33:43.022 pm' author 'MU' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.11' message 'Fixed some validation errors' id '9c90c6e4-5bf0-456e-9533-fbab3071731e' date '27 June 2015' time '3:20:08.758362 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.10' message 'Added version 1.2.1 spec' id '6876af65-f092-4be5-959d-590593da4246' date '14 June 2015' time '11:35:30.409191 pm' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-MasashiUmezawa.9' message 'Added version120' id 'ee574050-6c95-3245-8ba4-bc08d0988c47' date '15 October 2013' time '1:11:56.97 am' author 'MasashiUmezawa' ancestors ((name 'ConfigurationOfMessagePack-mu.8' message 'Added baseline120' id '8cd96180-b269-7b4f-85e6-bf51f30d07b8' date '15 October 2013' time '12:50:15.76 am' author 'mu' ancestors ((name 'ConfigurationOfMessagePack-mu.7' message 'Added config for 1.0.4' id '33f88b08-2d95-c542-9be2-8928b1b0b569' date '2 May 2012' time '1:03:06.151 pm' author 'mu' ancestors ((name 'ConfigurationOfMessagePack-mu.6' message 'version 1.0.3' id '6630ca6a-3817-eb45-8125-504dc91a9c3a' date '23 November 2011' time '11:02:08.711 pm' author 'mu' ancestors ((name 'ConfigurationOfMessagePack-AlexandreBergel.5' message 'Dale fixed a number of errors in it' id '38f583fb-c3ca-43c2-a4ad-fafed0bfdbf3' date '29 August 2011' time '3:53:13 pm' author 'AlexandreBergel' ancestors ((name 'ConfigurationOfMessagePack-mu.4' message 'version 1.0.2 (bug fix of negative fix num)' id '64136094-779f-2b48-8b72-1dfbaaa928b1' date '16 July 2011' time '1:14:22.239 am' author 'mu' ancestors ((name 'ConfigurationOfMessagePack-mu.3' message 'version 1.0.1' id '631d161f-3466-8144-9eb4-77fbf7be6644' date '7 June 2011' time '9:29:42.702 pm' author 'mu' ancestors ((name 'ConfigurationOfMessagePack-mu.2' message 'Fixed version' id 'ae6267f7-d91c-454f-9b9f-199903c2592e' date '2 June 2011' time '5:48:45.344 pm' author 'mu' ancestors ((name 'ConfigurationOfMessagePack-mu.1' message 'Initial version: http://code.google.com/p/messagepack-st/' id 'e64620bc-880e-2e4e-9814-4c8bb9e6675f' date '2 June 2011' time '3:55:04.744 pm' author 'mu' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
factory
22
createArray: size
3+
size = 0 ifTrue: [ ^#() ].
34
^Array new: size

repository/MessagePack-Core.package/MpDecoder.class/instance/readFixRaw..st

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ readFixRaw: firstByte
33
| size |
44
self typeMapper isBytesAsString ifTrue: [^self readFixString: firstByte].
55
size := (firstByte bitAnd: 2r11111).
6+
size = 0 ifTrue: [ ^ #[] ].
67
^self readStream next: size

repository/MessagePack-Core.package/MpDecoder.class/instance/readFixString..st

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ reading-string
22
readFixString: firstByte
33
| size |
44
size := (firstByte bitAnd: 2r11111).
5+
size = 0 ifTrue: [ ^ '' ].
56
^MpPortableUtil default stringFromBytes: (self readStream next: size)

repository/MessagePack-Core.package/MpDecoder.class/methodProperties.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"readObjectOf:" : "mu 5/8/2011 23:11",
2323
"readArraySized:" : "mu 4/30/2011 23:46",
2424
"readObject" : "mu 5/8/2011 23:12",
25-
"readFixRaw:" : "MasashiUmezawa 2/2/2013 01:10",
25+
"readFixRaw:" : "mu 11/9/2018 22:50",
2626
"readFixext4" : "mu 11/5/2013 00:02",
2727
"readInt16" : "mu 5/1/2011 16:06",
2828
"readInt32" : "mu 5/1/2011 16:06",
@@ -65,10 +65,10 @@
6565
"readStr8" : "mu 8/26/2013 00:04",
6666
"readTimestamp96:" : "MasashiUmezawa 8/11/2017 17:21",
6767
"readNegativeFixNum:" : "mu 7/15/2011 23:47",
68-
"createArray:" : "mu 4/30/2011 23:46",
68+
"createArray:" : "mu 11/9/2018 23:01",
6969
"readBin16" : "mu 8/12/2013 00:43",
7070
"readBin32" : "mu 8/12/2013 00:43",
71-
"readFixString:" : "MasashiUmezawa 11/12/2016 23:18",
71+
"readFixString:" : "mu 11/9/2018 22:58",
7272
"readStream" : "mu 4/29/2011 23:40",
7373
"decode:setting:" : "MasashiUmezawa 2/1/2013 23:13",
7474
"createDictionary:" : "mu 4/29/2011 23:40",

0 commit comments

Comments
 (0)