Return-Path: X-Original-To: apmail-ignite-dev-archive@minotaur.apache.org Delivered-To: apmail-ignite-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D8EFB1859F for ; Fri, 15 Jan 2016 12:10:19 +0000 (UTC) Received: (qmail 39068 invoked by uid 500); 15 Jan 2016 12:10:19 -0000 Delivered-To: apmail-ignite-dev-archive@ignite.apache.org Received: (qmail 39020 invoked by uid 500); 15 Jan 2016 12:10:19 -0000 Mailing-List: contact dev-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list dev@ignite.apache.org Received: (qmail 39007 invoked by uid 99); 15 Jan 2016 12:10:19 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Jan 2016 12:10:19 +0000 Received: from mail-lb0-f179.google.com (mail-lb0-f179.google.com [209.85.217.179]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id DF38E1A0040 for ; Fri, 15 Jan 2016 12:10:18 +0000 (UTC) Received: by mail-lb0-f179.google.com with SMTP id oh2so314280836lbb.3 for ; Fri, 15 Jan 2016 04:10:18 -0800 (PST) X-Gm-Message-State: ALoCoQmcMRpqCeUK/xHnpEftR+mmWlEflwtiyxikM5auvrUh4LYiE/9SU4bHIkHeVmttAyE7b5h2Xe7MFKGDGgVS6byyni9BjFXRURXBsIz2Mq+7zl9lceA= MIME-Version: 1.0 X-Received: by 10.112.134.70 with SMTP id pi6mr2469174lbb.59.1452859817501; Fri, 15 Jan 2016 04:10:17 -0800 (PST) Received: by 10.114.56.180 with HTTP; Fri, 15 Jan 2016 04:10:17 -0800 (PST) In-Reply-To: References: Date: Fri, 15 Jan 2016 15:10:17 +0300 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: GridFutureAdapter: deprecate startTime(), duration() and endTime() From: Yakov Zhdanov To: dev@ignite.apache.org Content-Type: multipart/alternative; boundary=047d7b3a8ac054c56b05295e49aa --047d7b3a8ac054c56b05295e49aa Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable All of optimizations applied to futures so far were extremely effective. Ignite can create different number of futures per operation depending on context. Multiple this by ops/sec.. This is probably one of the most intensively instantiated (and therefore GCed) object. Internal futures is very sensitive part of the system and should be 100% effective. As far as public API, anyone uses org.apache.ignite.lang.IgniteFuture#startTime or org.apache.ignite.lang.IgniteFuture#duration? --Yakov 2016-01-15 1:20 GMT+03:00 Dmitriy Setrakyan : > Really hard to believe that removing 16 bytes in futures gives 5% of > performance. Yakov, are you certain about this? > > If this turns out to be true, let=E2=80=99s see if we can slim down the f= utures > used internally, without breaking the public API. > > D. > > On Thu, Jan 14, 2016 at 8:36 AM, Vladimir Ozerov > wrote: > > > +1 > > > > BTW, corresponding ticket already exists. You can find it under umbrell= a > > ticket IGNITE-2232 > > 14 =D1=8F=D0=BD=D0=B2. 2016 =D0=B3. 18:40 =D0=BF=D0=BE=D0=BB=D1=8C=D0= =B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8C "Yakov Zhdanov" > > =D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=BB: > > > > > Guys, > > > > > > We have startTime(), duration() and endTime() methods which have > several > > > usages each along internals of the project, but to support these > methods > > we > > > have 2 long fields in GridFutureAdapter which gives us 16 bytes. > > > > > > Other fields - res (reference 8 bytes at max), ignoreInterrupts > (boolean > > 1 > > > byte) and resFlag (byte 1 byte) =3D 10 bytes > > > > > > I did quick tests and I see that removing these fields (i.e. making > each > > > future 16 bytes thinner) can give us 5-6% in performance results. > > > > > > I want to deprecate startTime(), duration() and endTime() and > therefore > > > deprecate corresponding methods in IgniteFuture. > > > > > > Thoughts? > > > > > > --Yakov > > > > > > --047d7b3a8ac054c56b05295e49aa--