I see following possible ways of optimize compilation:

1. Build ALL once and after that run tests (may be complicated to
implement).

2. We could tune test compilation steps by specifying only needed modules
in maven command.
If we running test for ignite-core, lets compile only ignite-core and do
not compile scala.
This will require to take a look to all suites build steps.

On Tue, Sep 27, 2016 at 7:54 PM, Anton Vinogradov <avinogra...@gridgain.com>
wrote:

> First of all we should undestand how many time we spend on compilation.
> Im not sure that compilation required for test takes more than 20 secons.
>
> Even minimal Java build (with excluded Scala, Javadoc, etc) takes over 5
>
> Don't mix up project build and compilation required for tests.
>
> But I see that each test spends time on this:
> Step 3/5: Build P2P classes (Maven) (33s)
> Is it necessary ?
>
> On Tue, Sep 27, 2016 at 3:50 PM, Pavel Tupitsyn <ptupit...@apache.org>
> wrote:
>
> > +1 for reusing built binaries.
> >
> > * Even minimal Java build (with excluded Scala, Javadoc, etc) takes over
> 5
> > minutes
> > * There are almost 100 suites currently
> >
> > So we waste around 1 hour of agents time for each full TC run.
> >
> > Joining small suites also makes sense, even with reused binaries, because
> > of other kinds of overhead (checkout).
> >
> > On Tue, Sep 27, 2016 at 3:38 PM, Alexey Kuznetsov <
> akuznet...@gridgain.com
> > >
> > wrote:
> >
> > > I would merge them only if they ALL are "green".
> > >
> > > or
> > >
> > > May be better solution - build ONCE and REUSE binaries for test?
> > >
> > >
> > >
> > > On Tue, Sep 27, 2016 at 7:25 PM, Vladimir Ozerov <voze...@gridgain.com
> >
> > > wrote:
> > >
> > > > Igniters,
> > > >
> > > > Currently we have about 60-70 test suites on Team City. When I look
> at
> > > > results I see this:
> > > >
> > > > Ignite 150 Clients -> 1 test -> 6m
> > > > Ignite AWS -> 10 tests -> 11m
> > > > Ignite GCE -> 1 test -> 3m
> > > > Ignite Geospacial Indexing -> 11 tests -> 4m
> > > > Ignite IGFS Examples -> 1 test -> 3m
> > > > Ignite Logging -> 1 test -> 3m
> > > >
> > > > Etc.
> > > >
> > > > It is natural to split tests by their modules. But in this case we
> > spend
> > > > most of the time on compiling the project over and over again just to
> > run
> > > > several tests. It consumes lots of TeamCity resources. Both CPU for
> > > > compilation, and disk for logs.
> > > >
> > > > I think we can safely merge all these tine suites into one single
> suite
> > > and
> > > > call it "Ignite Integrations". This will save us a lot of time.
> > > >
> > > > Note that I mean not each and every integration module, but only
> > modules
> > > > where we have no more than a 1-2 dozens of tests.
> > > >
> > > > Thoughts?
> > > >
> > > > Vladimir.
> > > >
> > >
> > >
> > >
> > > --
> > > Alexey Kuznetsov
> > >
> >
>



-- 
Alexey Kuznetsov
GridGain Systems
www.gridgain.com

Reply via email to