Valentin, I eliminated what you write me in last letter.

https://github.com/javaller/MyBenchmark/commit/b3f5616f49a89d447aed26d0ac5beef5fc7aacd9

And got next results. I don't know why the test breaks down on 5-th or 6-th
iteration after eliminating code from benchmark.

Before:
+# Benchmark: org.sample.ExampleTest.binaryHeapOutputStreamDirect
+# Fork: 1 of 5
+# Warmup Iteration   1: 1719653,620 ns/op
+# Warmup Iteration   2: 1185933,750 ns/op
+# Warmup Iteration   3: 1217441,984 ns/op
+# Warmup Iteration   4: 1250188,574 ns/op
+# Warmup Iteration   5: 1096342,185 ns/op
+Iteration   1: 1107284,168 ns/op
+Iteration   2: 1142595,596 ns/op
+Iteration   3: 1153117,701 ns/op
+Iteration   4: 1076360,835 ns/op
+Iteration   5: 1119957,585 ns/op

Benchmark: org.sample.ExampleTest.binaryHeapOutputStreamInDirect
+# Fork: 1 of 5
 +# Warmup Iteration   1: 1767745,121 ns/op
 +# Warmup Iteration   2: 1161990,655 ns/op
 +# Warmup Iteration   3: 1206057,618 ns/op
 +# Warmup Iteration   4: 1253123,659 ns/op
 +# Warmup Iteration   5: 1083415,460 ns/op
 +Iteration   1: 1114986,640 ns/op
 +Iteration   2: 1121511,461 ns/op
 +Iteration   3: 1200564,553 ns/op
 +Iteration   4: 1073515,970 ns/op
 +Iteration   5: 1123141,215 ns/op

After:
+# Benchmark: org.sample.ExampleTest.binaryHeapOutputStreamDirect
# Run progress: 0,00% complete, ETA 00:02:30
# Fork: 1 of 5
# Warmup Iteration   1: 49,692 ns/op
# Warmup Iteration   2: 53,517 ns/op
# Warmup Iteration   3: 51,355 ns/op
# Warmup Iteration   4: 443,904 ns/op
# Warmup Iteration   5: 3366908122,000 ns/op
Iteration   1: 2913381071,000 ns/op
Iteration   2: 3288969624,000 ns/op
Iteration   3: 3031354229,000 ns/op
Iteration   4: 2980026686,000 ns/op
Iteration   5: 3200849925,000 ns/op

+#Benchmark: org.sample.ExampleTest.binaryHeapOutputStreamInDirect
# Run progress: 50,00% complete, ETA 00:03:14
# Fork: 1 of 5
# Warmup Iteration   1: 85,860 ns/op
# Warmup Iteration   2: 63,925 ns/op
# Warmup Iteration   3: 58,744 ns/op
# Warmup Iteration   4: 65,419 ns/op
# Warmup Iteration   5: 552810586,500 ns/op
Iteration   1: 432377958,333 ns/op
Iteration   2: 462254352,333 ns/op
Iteration   3: 468757589,667 ns/op
Iteration   4: 452535049,667 ns/op
Iteration   5: 477898917,667 ns/op

Vadim








2017-03-03 21:11 GMT+03:00 Valentin Kulichenko <
valentin.kuliche...@gmail.com>:

> Hi Vadim,
>
> What do you mean by "copied benchmarks"? What changed singe previous
> iteration and why results are so different?
>
> As for duplicated loop, you don't need it. BinaryOutputStream allows to
> write a value to a particular position (even before already written data).
> So you can reserve 4 bytes for length, remember position, calculate length
> while encoding and writing bytes, and then write length.
>
> -Val
>
> On Fri, Mar 3, 2017 at 12:45 AM, Вадим Опольский <vaopols...@gmail.com>
> wrote:
>
>> Valentin,
>>
>> What do you think about duplicated cycle in strToBinaryOutputStream ?
>>
>> How to calculate StrLen для outBinaryHeap without this cycle ?
>>
>> public class BinaryUtilsNew extends BinaryUtils {
>>
>>     public static int getStrLen(String val) {
>>         int strLen = val.length();
>>         int utfLen = 0;
>>         int c;
>>
>>         // Determine length of resulting byte array.
>>
>>
>>
>>
>> *for (int cnt = 0; cnt < strLen; cnt++) {            c = val.charAt(cnt);    
>>         if (c >= 0x0001 && c <= 0x007F)*                utfLen++;
>>        *     else if (c > 0x07FF)*
>>                 utfLen += 3;
>>             else
>>                 utfLen += 2;
>>         }
>>
>>         return utfLen;
>>     }
>>
>>     public static void strToUtf8BytesDirect(BinaryOutputStream 
>> outBinaryHeap, String val) {
>>
>>         int strLen = val.length();
>>         int c, cnt;
>>
>>         int position = 0;
>>
>>         outBinaryHeap.unsafeEnsure(1 + 4);
>>
>> *   outBinaryHeap.unsafeWriteByte(GridBinaryMarshaller.STRING);        
>> outBinaryHeap.unsafeWriteInt(getStrLen(val));*
>>
>>
>>
>> * for (cnt = 0; cnt < strLen; cnt++) {            c = val.charAt(cnt);*
>>        *     if (c >= 0x0001 && c <= 0x007F)*
>>                 outBinaryHeap.writeByte((byte) c);
>>          *   else if (c > 0x07FF) {*
>>                 outBinaryHeap.writeByte((byte)(0xE0 | (c >> 12) & 0x0F));
>>                 outBinaryHeap.writeByte((byte)(0x80 | (c >> 6) & 0x3F));
>>                 outBinaryHeap.writeByte((byte)(0x80 | (c & 0x3F)));
>>             }
>>             else {
>>                 outBinaryHeap.writeByte((byte)(0xC0 | ((c >> 6) & 0x1F)));
>>                 outBinaryHeap.writeByte((byte)(0x80 | (c  & 0x3F)));
>>             }
>>         }
>>     }
>>
>>
>> Vadim
>>
>>
>>
>> 2017-03-03 2:00 GMT+03:00 Valentin Kulichenko <
>> valentin.kuliche...@gmail.com>:
>>
>>> Vadim,
>>>
>>> Looks better now. Can you also try to modify the benchmark so that
>>> marshaller and writer are created outside of the measured method? I.e. the
>>> benchmark methods should be as simple as this:
>>>
>>>     @Benchmark
>>>     public void binaryHeapOutputStreamDirect() throws Exception {
>>>         writer.doWriteStringDirect(message);
>>>     }
>>>
>>>     @Benchmark
>>>     public void binaryHeapOutputStreamInDirect() throws Exception {
>>>         writer.doWriteString(message);
>>>     }
>>>
>>> In any case, do I understand correctly that it didn't actually make any
>>> performance difference? If so, I think we can close the ticket.
>>>
>>> Vova, can you also take a look and provide your thoughts?
>>>
>>> -Val
>>>
>>> On Thu, Mar 2, 2017 at 1:27 PM, Вадим Опольский <vaopols...@gmail.com>
>>> wrote:
>>>
>>>> Hi Valentin!
>>>>
>>>> I've created:
>>>>
>>>> new method strToUtf8BytesDirect in BinaryUtilsNew
>>>> https://github.com/javaller/MyBenchmark/blob/master/src/main
>>>> /java/org/sample/BinaryUtilsNew.java
>>>>
>>>> new method doWriteStringDirect in BinaryWriterExImplNew
>>>> https://github.com/javaller/MyBenchmark/blob/master/src/main
>>>> /java/org/sample/BinaryWriterExImplNew.java
>>>>
>>>> benchmarks for BinaryWriterExImpl doWriteString and
>>>> BinaryWriterExImplNew  doWriteStringDirect
>>>> https://github.com/javaller/MyBenchmark/blob/master/src/main
>>>> /java/org/sample/ExampleTest.java
>>>>
>>>> This is a result of comparing:
>>>>
>>>> Benchmark
>>>> Mode  Cnt   Score               Error         
>>>> UnitsExampleTest.binaryHeapOutputStreamDirect
>>>> avgt   50  1128448,743 ± 13536,689  
>>>> ns/opExampleTest.binaryHeapOutputStreamInDirect
>>>> avgt   50  1127270,695 ± 17309,256  ns/op
>>>>
>>>> Vadim
>>>>
>>>> 2017-03-02 1:02 GMT+03:00 Valentin Kulichenko <
>>>> valentin.kuliche...@gmail.com>:
>>>>
>>>>> Hi Vadim,
>>>>>
>>>>> We're getting closer :) I would actually like to see the test for
>>>>> actual implementation of BinaryWriterExImpl#doWriteString method.
>>>>> Logic in binaryHeapOutputInDirect() confuses me a bit and I'm not sure
>>>>> comparison is valid.
>>>>>
>>>>> Can you please do the following:
>>>>>
>>>>> 1. Create new BinaryUtils#strToUtf8BytesDirect method, copy-paste the
>>>>> code from existing BinaryUtils#strToUtf8Bytes and modify it so that it
>>>>> takes BinaryOutputStream as an argument and writes to it directly. Do not
>>>>> create stream inside this method, as it's the same as creating new array.
>>>>> 2. Create new BinaryWriterExImpl#doWriteStringDirect, copy-paste the
>>>>> code from existing BinaryWriterExImpl#doWriteString and modify it so
>>>>> that it uses BinaryUtils#strToUtf8BytesDirect and doesn't
>>>>> call out.writeByteArray.
>>>>> 3. Create benchmark for BinaryWriterExImpl#doWriteString method.
>>>>> I.e., create an instance of BinaryWriterExImpl and call doWriteString() in
>>>>> benchmark method.
>>>>> 4. Similarly, create benchmark for BinaryWriterExImpl#doWriteStri
>>>>> ngDirect.
>>>>> 5. Compare results.
>>>>>
>>>>> This will give us clear picture of how these two approaches perform.
>>>>> Your current results are actually promising, but I would like to confirm
>>>>> them.
>>>>>
>>>>> -Val
>>>>>
>>>>> On Wed, Mar 1, 2017 at 6:17 AM, Вадим Опольский <vaopols...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Valentin!
>>>>>>
>>>>>> Thank you for comments.
>>>>>>
>>>>>> There is a new method which writes directly to BinaryOutputStream
>>>>>> instead of intermediate array.
>>>>>> https://github.com/javaller/MyBenchmark/blob/master/src/main
>>>>>> /java/org/sample/BinaryUtilsNew.java
>>>>>>
>>>>>> There is benchmark.
>>>>>> https://github.com/javaller/MyBenchmark/blob/master/src/main
>>>>>> /java/org/sample/MyBenchmark.java
>>>>>>
>>>>>> Unit test
>>>>>> https://github.com/javaller/MyBenchmark/blob/master/src/main
>>>>>> /java/org/sample/BinaryOutputStreamTest.java
>>>>>>
>>>>>> Statistics
>>>>>> https://github.com/javaller/MyBenchmark/blob/master/out_01_03_17.txt
>>>>>>
>>>>>> Benchmark
>>>>>>  Mode       Cnt    Score        Error  Units 
>>>>>> MyBenchmark.binaryHeapOutputIn
>>>>>> Direct            avgt          50  111,337 ± 0,742  ns/op
>>>>>> MyBenchmark.binaryHeapOutputStreamDirect   avgt          50   23,847
>>>>>> ± 0,303    ns/op
>>>>>>
>>>>>>
>>>>>> Vadim
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2017-02-28 4:29 GMT+03:00 Valentin Kulichenko <
>>>>>> valentin.kuliche...@gmail.com>:
>>>>>>
>>>>>>> Hi Vadim,
>>>>>>>
>>>>>>> Looks like you accidentally removed dev list from the thread, adding
>>>>>>> it back.
>>>>>>>
>>>>>>> I think there is still misunderstanding. What I propose is to modify
>>>>>>> the BinaryUtils#strToUtf8Bytes so that it writes directly to 
>>>>>>> BinaryOutputStream
>>>>>>> instead of intermediate array. This should decrease memory consumption 
>>>>>>> and
>>>>>>> can also increase performance as we will avoid 'writeByteArray'
>>>>>>> step at the end.
>>>>>>>
>>>>>>> Does it make sense to you?
>>>>>>>
>>>>>>> -Val
>>>>>>>
>>>>>>> On Mon, Feb 27, 2017 at 6:55 AM, Вадим Опольский <
>>>>>>> vaopols...@gmail.com> wrote:
>>>>>>>
>>>>>>>> Hi, Valentin!
>>>>>>>>
>>>>>>>> What do you think about using the methods of BinaryOutputStream:
>>>>>>>>
>>>>>>>> 1) writeByteArray(byte[] val)
>>>>>>>> 2) writeCharArray(char[] val)
>>>>>>>> 3) write (byte[] arr, int off, int len)
>>>>>>>>
>>>>>>>> String val = "Test";
>>>>>>>>     out.writeByteArray( val.getBytes(UTF_8));
>>>>>>>>
>>>>>>>>  String val = "Test";
>>>>>>>>     out.writeCharArray(str.toCharArray());
>>>>>>>>
>>>>>>>> String val = "Test"
>>>>>>>> InputStream stream = new ByteArrayInputStream(
>>>>>>>> exampleString.getBytes(StandartCharsets.UTF_8));
>>>>>>>> byte[] buffer = new byte[1024];
>>>>>>>> while ((buffer = stream.read()) != -1) {
>>>>>>>> out.writeByteArray(buffer);
>>>>>>>> }
>>>>>>>>
>>>>>>>> What else can we use ?
>>>>>>>>
>>>>>>>> Vadim
>>>>>>>>
>>>>>>>>
>>>>>>>> 2017-02-25 2:21 GMT+03:00 Valentin Kulichenko <
>>>>>>>> valentin.kuliche...@gmail.com>:
>>>>>>>>
>>>>>>>>> Hi Vadim,
>>>>>>>>>
>>>>>>>>> Which method implements the approach described in the ticket? From
>>>>>>>>> what I see, all writeToStringX versions are still encoding into an
>>>>>>>>> intermediate array and then call out.writeByteArray. What we need to 
>>>>>>>>> test
>>>>>>>>> is the approach where bytes are written directly into the stream 
>>>>>>>>> during
>>>>>>>>> encoding. Encoding algorithm itself should stay the same for now, 
>>>>>>>>> otherwise
>>>>>>>>> we will not know how to interpret the result.
>>>>>>>>>
>>>>>>>>> It looks like there is some misunderstanding here, so please let
>>>>>>>>> me know anything is still unclear. I will be happy to answer your 
>>>>>>>>> questions.
>>>>>>>>>
>>>>>>>>> -Val
>>>>>>>>>
>>>>>>>>> On Wed, Feb 22, 2017 at 7:22 PM, Valentin Kulichenko <
>>>>>>>>> valentin.kuliche...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Vadim,
>>>>>>>>>>
>>>>>>>>>> Thanks, I will review this week.
>>>>>>>>>>
>>>>>>>>>> -Val
>>>>>>>>>>
>>>>>>>>>> On Wed, Feb 22, 2017 at 2:28 AM, Вадим Опольский <
>>>>>>>>>> vaopols...@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Valentin!
>>>>>>>>>>>
>>>>>>>>>>> https://issues.apache.org/jira/browse/IGNITE-13
>>>>>>>>>>>
>>>>>>>>>>> I created BinaryWriterExImplNew (extended of BinaryWriterExImpl) and
>>>>>>>>>>> added new methods with changes described in the ticket
>>>>>>>>>>>
>>>>>>>>>>> https://github.com/javaller/MyBenchmark/blob/master/src/main
>>>>>>>>>>> /java/org/sample/BinaryWriterExImplNew.java
>>>>>>>>>>>
>>>>>>>>>>> I created a benchmark for BinaryWriterExImplNew
>>>>>>>>>>>
>>>>>>>>>>> https://github.com/javaller/MyBenchmark/blob/master/src/main
>>>>>>>>>>> /java/org/sample/ExampleTest.java
>>>>>>>>>>>
>>>>>>>>>>> I run benchmark and compared results
>>>>>>>>>>>
>>>>>>>>>>> https://github.com/javaller/MyBenchmark/blob/master/totalsta
>>>>>>>>>>> t.txt
>>>>>>>>>>>
>>>>>>>>>>> # Run complete. Total time: 00:10:24
>>>>>>>>>>> Benchmark                                    Mode  Cnt
>>>>>>>>>>> Score       Error  Units
>>>>>>>>>>> ExampleTest.binaryHeapOutputStream1          avgt   50
>>>>>>>>>>> 1114999,207 ± 16756,776  ns/op
>>>>>>>>>>> ExampleTest.binaryHeapOutputStream2          avgt   50
>>>>>>>>>>> 1118149,320 ± 17515,961  ns/op
>>>>>>>>>>> ExampleTest.binaryHeapOutputStream3          avgt   50
>>>>>>>>>>> 1113678,657 ± 17652,314  ns/op
>>>>>>>>>>> ExampleTest.binaryHeapOutputStream4          avgt   50
>>>>>>>>>>> 1112415,051 ± 18273,874  ns/op
>>>>>>>>>>> ExampleTest.binaryHeapOutputStream5          avgt   50
>>>>>>>>>>> 1111366,583 ± 18282,829  ns/op
>>>>>>>>>>> ExampleTest.binaryHeapOutputStreamACSII   avgt   50
>>>>>>>>>>> 1112079,667 ± 16659,532  ns/op
>>>>>>>>>>> ExampleTest.binaryHeapOutputStreamUTFCustom  avgt   50
>>>>>>>>>>> 1114949,759 ± 16809,669  ns/op
>>>>>>>>>>> ExampleTest.binaryHeapOutputStreamUTFNIO        avgt   50
>>>>>>>>>>> 1121462,325 ± 19836,466  ns/op
>>>>>>>>>>>
>>>>>>>>>>> Is it OK? Whats the next step? Do I have to move this
>>>>>>>>>>> JMH benchmark to the Ignite project ?
>>>>>>>>>>>
>>>>>>>>>>> Vadim Opolski
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2017-02-21 1:06 GMT+03:00 Valentin Kulichenko <
>>>>>>>>>>> valentin.kuliche...@gmail.com>:
>>>>>>>>>>>
>>>>>>>>>>>> Hi Vadim,
>>>>>>>>>>>>
>>>>>>>>>>>> I'm not sure I understand your benchmarks and how they verify
>>>>>>>>>>>> the optimization discussed here. Basically, here is what needs to 
>>>>>>>>>>>> be done:
>>>>>>>>>>>>
>>>>>>>>>>>> 1. Create a benchmark for BinaryWriterExImpl#doWriteString
>>>>>>>>>>>> method.
>>>>>>>>>>>> 2. Run the benchmark with current implementation.
>>>>>>>>>>>> 3. Make the change described in the ticket.
>>>>>>>>>>>> 4. Run the benchmark with these changes.
>>>>>>>>>>>> 5. Compare results.
>>>>>>>>>>>>
>>>>>>>>>>>> Makes sense? Let me know if anything is unclear.
>>>>>>>>>>>>
>>>>>>>>>>>> -Val
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, Feb 20, 2017 at 8:51 AM, Вадим Опольский <
>>>>>>>>>>>> vaopols...@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hello everybody!
>>>>>>>>>>>>>
>>>>>>>>>>>>> https://issues.apache.org/jira/browse/IGNITE-13
>>>>>>>>>>>>>
>>>>>>>>>>>>> Valentin, I just have finished benchmark (with JMH) -
>>>>>>>>>>>>> https://github.com/javaller/MyBenchmark.git
>>>>>>>>>>>>>
>>>>>>>>>>>>> It collect data about time working of serialization.
>>>>>>>>>>>>>
>>>>>>>>>>>>> For instance - https://github.com/javaller/My
>>>>>>>>>>>>> Benchmark/blob/master/out200217.txt
>>>>>>>>>>>>>
>>>>>>>>>>>>> To start it you have to do next:
>>>>>>>>>>>>>
>>>>>>>>>>>>> 1) clone it - git colne https://github.com/javal
>>>>>>>>>>>>> ler/MyBenchmark.git
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2) install it - mvn install
>>>>>>>>>>>>>
>>>>>>>>>>>>> 3) run benchmarks -  java -Xms1024m -Xmx4096m -jar
>>>>>>>>>>>>> target\benchmarks.jar
>>>>>>>>>>>>>
>>>>>>>>>>>>> Vadim Opolski
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2017-02-15 0:52 GMT+03:00 Valentin Kulichenko <
>>>>>>>>>>>>> valentin.kuliche...@gmail.com>:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Vladimir,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I think we misunderstood each other. My understanding of this
>>>>>>>>>>>>>> optimization is the following.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Currently string serialization is done in two steps (see
>>>>>>>>>>>>>> BinaryWriterExImpl#doWriteString):
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> strArr = BinaryUtils.strToUtf8Bytes(val); // Encode string
>>>>>>>>>>>>>> into byte array.
>>>>>>>>>>>>>> out.writeByteArray(strArr);                      // Write
>>>>>>>>>>>>>> byte array into stream.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> What this ticket suggests is to write directly into stream
>>>>>>>>>>>>>> while string is encoded, without intermediate array. This both 
>>>>>>>>>>>>>> reduces
>>>>>>>>>>>>>> memory consumption and eliminates array copy step.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I updated the ticket and added this explanation there.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Vadim, can you create a micro benchmark and check if it gives
>>>>>>>>>>>>>> any improvement?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -Val
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Sun, Feb 12, 2017 at 10:38 PM, Vladimir Ozerov <
>>>>>>>>>>>>>> voze...@gridgain.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> It is hard to say whether it makes sense or not. No doubt,
>>>>>>>>>>>>>>> it could speed up marshalling process at the cost of 2x memory 
>>>>>>>>>>>>>>> required for
>>>>>>>>>>>>>>> strings. From my previous experience with marshalling 
>>>>>>>>>>>>>>> micro-optimizations,
>>>>>>>>>>>>>>> we will hardly ever notice speedup in distributed environment.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> But, there is another sied - it could speedup our queries,
>>>>>>>>>>>>>>> because we will not have to unmarshal string on every field 
>>>>>>>>>>>>>>> access. So I
>>>>>>>>>>>>>>> would try to make this optimization optional and then measure 
>>>>>>>>>>>>>>> query
>>>>>>>>>>>>>>> performance with classes having lots of strings. It could give 
>>>>>>>>>>>>>>> us
>>>>>>>>>>>>>>> interesting results.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Mon, Feb 13, 2017 at 5:37 AM, Valentin Kulichenko <
>>>>>>>>>>>>>>> valentin.kuliche...@gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Vladimir,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Can you please take a look and provide your thoughts? Can
>>>>>>>>>>>>>>>> this be applied to binary marshaller? From what I recall, it 
>>>>>>>>>>>>>>>> serializes
>>>>>>>>>>>>>>>> string a bit differently from optimized marshaller, so I'm not 
>>>>>>>>>>>>>>>> sure.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> -Val
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Fri, Feb 10, 2017 at 5:16 PM, Dmitriy Setrakyan <
>>>>>>>>>>>>>>>> dsetrak...@apache.org> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Thu, Feb 9, 2017 at 11:26 PM, Valentin Kulichenko <
>>>>>>>>>>>>>>>>> valentin.kuliche...@gmail.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> > Hi Vadim,
>>>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>>>> > I don't think it makes much sense to invest into
>>>>>>>>>>>>>>>>> OptimizedMarshaller.
>>>>>>>>>>>>>>>>> > However, I would check if this optimization is
>>>>>>>>>>>>>>>>> applicable to
>>>>>>>>>>>>>>>>> > BinaryMarshaller, and if yes, implement it.
>>>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Val, in this case can you please update the ticket?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>>>> > -Val
>>>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>>>> > On Thu, Feb 9, 2017 at 11:05 PM, Вадим Опольский <
>>>>>>>>>>>>>>>>> vaopols...@gmail.com>
>>>>>>>>>>>>>>>>> > wrote:
>>>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>>>> > > Dear sirs!
>>>>>>>>>>>>>>>>> > >
>>>>>>>>>>>>>>>>> > > I want to resolve issue IGNITE-13 -
>>>>>>>>>>>>>>>>> > > https://issues.apache.org/jira/browse/IGNITE-13
>>>>>>>>>>>>>>>>> > >
>>>>>>>>>>>>>>>>> > > Is it actual?
>>>>>>>>>>>>>>>>> > >
>>>>>>>>>>>>>>>>> > > Vadim Opolski
>>>>>>>>>>>>>>>>> > >
>>>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to