Hello community,

here is the log from the commit of package rubygem-msgpack for openSUSE:Factory 
checked in at 2019-06-19 21:00:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-msgpack (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-msgpack.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-msgpack"

Wed Jun 19 21:00:38 2019 rev:9 rq:706010 version:1.2.10

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-msgpack/rubygem-msgpack.changes  
2019-03-27 16:18:02.415571815 +0100
+++ 
/work/SRC/openSUSE:Factory/.rubygem-msgpack.new.4811/rubygem-msgpack.changes    
    2019-06-19 21:00:40.614102033 +0200
@@ -1,0 +2,10 @@
+Sun May  5 09:35:27 UTC 2019 - Stephan Kulow <[email protected]>
+
+- updated to version 1.2.10
+ see installed ChangeLog
+
+  2019-04-19 version 1.2.10:
+  
+  * Optimze MessagePack.unpack not to copy source string
+
+-------------------------------------------------------------------

Old:
----
  msgpack-1.2.9.gem

New:
----
  msgpack-1.2.10.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-msgpack.spec ++++++
--- /var/tmp/diff_new_pack.LaXWhB/_old  2019-06-19 21:00:41.434102721 +0200
+++ /var/tmp/diff_new_pack.LaXWhB/_new  2019-06-19 21:00:41.438102725 +0200
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-msgpack
-Version:        1.2.9
+Version:        1.2.10
 Release:        0
 %define mod_name msgpack
 %define mod_full_name %{mod_name}-%{version}

++++++ msgpack-1.2.9.gem -> msgpack-1.2.10.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.travis.yml new/.travis.yml
--- old/.travis.yml     2019-03-13 02:38:52.000000000 +0100
+++ new/.travis.yml     2019-04-19 03:15:28.000000000 +0200
@@ -23,9 +23,9 @@
       os: linux
     - rvm: 2.5.3
       os: linux
-    - rvm: 2.6.0
+    - rvm: 2.6.1
       os: linux
-    - rvm: 2.6.0
+    - rvm: 2.6.1
       os: osx
     - rvm: ruby-head
       os: linux
@@ -36,6 +36,8 @@
     - rvm: jruby-19mode
       os: linux
   allow_failures:
+    - rvm: 2.6.1
+      os: osx
     - rvm: ruby-head
     - rvm: jruby-head
     - rvm: jruby-19mode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ChangeLog new/ChangeLog
--- old/ChangeLog       2019-03-13 02:38:52.000000000 +0100
+++ new/ChangeLog       2019-04-19 03:15:28.000000000 +0200
@@ -1,3 +1,7 @@
+2019-04-19 version 1.2.10:
+
+* Optimze MessagePack.unpack not to copy source string
+
 2019-03-13 version 1.2.9:
 
 * Hotfix release only for JRuby: 1.2.8-java was built incorrectly
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/java/org/msgpack/jruby/Unpacker.java 
new/ext/java/org/msgpack/jruby/Unpacker.java
--- old/ext/java/org/msgpack/jruby/Unpacker.java        2019-03-13 
02:38:52.000000000 +0100
+++ new/ext/java/org/msgpack/jruby/Unpacker.java        2019-04-19 
03:15:28.000000000 +0200
@@ -170,7 +170,7 @@
     return data == null ? ctx.getRuntime().getFalse() : 
ctx.getRuntime().getTrue();
   }
 
-  @JRubyMethod(required = 1)
+  @JRubyMethod(required = 1, name = "feed", alias = { "feed_reference" })
   public IRubyObject feed(ThreadContext ctx, IRubyObject data) {
     ByteList byteList = data.asString().getByteList();
     if (decoder == null) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/msgpack/buffer.h new/ext/msgpack/buffer.h
--- old/ext/msgpack/buffer.h    2019-03-13 02:38:52.000000000 +0100
+++ new/ext/msgpack/buffer.h    2019-04-19 03:15:28.000000000 +0200
@@ -262,6 +262,20 @@
     return length;
 }
 
+static inline size_t msgpack_buffer_append_string_reference(msgpack_buffer_t* 
b, VALUE string)
+{
+    size_t length = RSTRING_LEN(string);
+
+    if(length > MSGPACK_BUFFER_STRING_WRITE_REFERENCE_MINIMUM) {
+        _msgpack_buffer_append_long_string(b, string);
+
+    } else {
+        msgpack_buffer_append(b, RSTRING_PTR(string), length);
+    }
+
+    return length;
+}
+
 
 /*
  * IO functions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/msgpack/unpacker_class.c 
new/ext/msgpack/unpacker_class.c
--- old/ext/msgpack/unpacker_class.c    2019-03-13 02:38:52.000000000 +0100
+++ new/ext/msgpack/unpacker_class.c    2019-04-19 03:15:28.000000000 +0200
@@ -256,6 +256,17 @@
     return self;
 }
 
+static VALUE Unpacker_feed_reference(VALUE self, VALUE data)
+{
+    UNPACKER(self, uk);
+
+    StringValue(data);
+
+    msgpack_buffer_append_string_reference(UNPACKER_BUFFER_(uk), data);
+
+    return self;
+}
+
 static VALUE Unpacker_each_impl(VALUE self)
 {
     UNPACKER(self, uk);
@@ -312,8 +323,7 @@
     }
 #endif
 
-    // TODO optimize
-    Unpacker_feed(self, data);
+    Unpacker_feed_reference(self, data);
     return Unpacker_each(self);
 }
 
@@ -386,9 +396,6 @@
 {
     UNPACKER(self, uk);
 
-    /* prefer reference than copying; see MessagePack_Unpacker_module_init */
-    msgpack_buffer_set_write_reference_threshold(UNPACKER_BUFFER_(uk), 0);
-
     int r = msgpack_unpacker_read(uk, 0);
     if(r < 0) {
         raise_unpacker_error(r);
@@ -444,6 +451,7 @@
     rb_define_method(cMessagePack_Unpacker, "read_map_header", 
Unpacker_read_map_header, 0);
     //rb_define_method(cMessagePack_Unpacker, "peek_next_type", 
Unpacker_peek_next_type, 0);  // TODO
     rb_define_method(cMessagePack_Unpacker, "feed", Unpacker_feed, 1);
+    rb_define_method(cMessagePack_Unpacker, "feed_reference", 
Unpacker_feed_reference, 1);
     rb_define_method(cMessagePack_Unpacker, "each", Unpacker_each, 0);
     rb_define_method(cMessagePack_Unpacker, "feed_each", Unpacker_feed_each, 
1);
     rb_define_method(cMessagePack_Unpacker, "reset", Unpacker_reset, 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/msgpack/version.rb new/lib/msgpack/version.rb
--- old/lib/msgpack/version.rb  2019-03-13 02:38:52.000000000 +0100
+++ new/lib/msgpack/version.rb  2019-04-19 03:15:28.000000000 +0200
@@ -1,5 +1,5 @@
 module MessagePack
-  VERSION = "1.2.9"
+  VERSION = "1.2.10"
 
   # NOTE for msgpack-ruby maintainer:
   # Check these things to release new binaryes for new Ruby versions 
(especially for Windows):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/msgpack.rb new/lib/msgpack.rb
--- old/lib/msgpack.rb  2019-03-13 02:38:52.000000000 +0100
+++ new/lib/msgpack.rb  2019-04-19 03:15:28.000000000 +0200
@@ -27,7 +27,7 @@
 
     if src.is_a? String
       unpacker = DefaultFactory.unpacker param || DEFAULT_EMPTY_PARAMS
-      unpacker.feed src
+      unpacker.feed_reference src
     else
       unpacker = DefaultFactory.unpacker src, param || DEFAULT_EMPTY_PARAMS
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2019-03-13 02:38:52.000000000 +0100
+++ new/metadata        2019-04-19 03:15:28.000000000 +0200
@@ -1,7 +1,7 @@
 --- !ruby/object:Gem::Specification
 name: msgpack
 version: !ruby/object:Gem::Version
-  version: 1.2.9
+  version: 1.2.10
 platform: ruby
 authors:
 - Sadayuki Furuhashi
@@ -10,7 +10,7 @@
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2019-03-13 00:00:00.000000000 Z
+date: 2019-04-19 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: bundler
@@ -238,7 +238,7 @@
     - !ruby/object:Gem::Version
       version: '0'
 requirements: []
-rubygems_version: 3.0.1
+rubygems_version: 3.0.3
 signing_key: 
 specification_version: 4
 summary: MessagePack, a binary-based efficient data interchange format.


Reply via email to