John, Fritz, Yes exactly - I was talking about profiling QxCompiler itself. At that moment I was experimenting with shared database and was wondering why it doesn't bring any speedup. I thought profiling would help to understand where QxCompiler spends most time; later it turned to be more fundamental issue.
I've experimented with a bit with incremental builds in our CI. So far, I think incremental builds are fine for CI builds (triggered by commits). That build directory isn't cleared each time didn't cause any complications yet. It's not a problem that first build takes significant time, it's only time of subsequent builds that matters. It's also a good practice to perform clean builds for releases, but slow release builds are quite acceptable since they don't occur frequently. However, I don't think efficient shared cache is impossible "by design". I've looked into {qxt,myproject}/{source,build}- output/transpiled/qx/*, did a byte-by-byte comparison and found that *.js files are identical (therefore, they could probably be cached across targets and libraries). Of course, there was difference in which files were present, due to different dependencies. (Besides, all the *.map files contain "null", are they really needed?) Speaking of dependencies, I did some comparison between qxt and our project: Framework classes used: 283 vs. 378 Contribs: UploadMgr (both) Uncompressed script: 4.8M vs. 6.4M Compressed script (QxCompiler): 1.4M vs. 1.9M Compressed script (generate.py): 700K vs. 1M Definitely there is some room for optimization :) John, sorry for delay in conversation. I'll be answering you on server- side JS soon. Dimitri > Hi Fritz > > In that case that's easy ;) because there's no profiling info in > QxCompiler at the moment, although I do keep an eye on overall > compilation time; the two main costs are transpiling, because every > source file in every library has to be transpiled, and the other is > copying resources for the build target. > > It can be difficult to gauge timings without isolating parts of the > app, although my guess is that a lot of this is probably file I/O; > the actual Babel transpilation process is a notable exception in that > it's completely synchronous and completely CPU bound > > Initially, I wanted to keep the transpiled code local to each library > but that isn't possible because some targets affect the output of the > transpile stage, but that just means that it has to be cached by > target rather than by library. > > There's always room for improvement but overall I think it's quite > fast given the work that it's doing, and the incremental compile for > source targets is around 800ms on my laptop, but build target needs a > bit of a once over because it around 6secs and it should be a lot > faster if nothing's changed. > > Cheers > John > > > From: "Fritz Zaucker" <zauc...@oetiker.ch> > Sent: Friday, February 19, 2016 8:42 AM > To: "qooxdoo Development" <qooxdoo-devel@lists.sourceforge.net> > Subject: Re: [qooxdoo-devel] QxCompiler - add ES6, faster > compilation, and 100% Javascript API to building applications > > Hi John, > > I understood it as a means to profile QxCompiler. But even if Dimitri > had > something else in mind, it probably would be useful to know where > QxCompiler > spends most of it's time in order to focus on optimizing at the right > place. > > BWT, I am looking forward to trying QxCompiler myself, just didn't > get > around to it yet. > > Cheers, > Fritz > > On Fri, 19 Feb 2016, John Spackman wrote: > > > BTW I missed you comment on this earlier - by profiling, do you > mean of > > the compilation process or injecting profiling statements into the > > generated code? > > > > On 18/02/2016, 17:51, "Dimitri" <mi...@cargosoft.ru> wrote: > > > >> I'm not a Node.js pro (I'm a JavaEE architect in fact :) so I'm > not > >> experienced in profiling Node applications. It would be nice if > some > >> verbose output (with timings) was produced by QxCompiler, as a > poor > >> man's profiling facility :) > > > > > > > > ----------------------------------------------------------------- > ------------- > > Site24x7 APM Insight: Get Deep Visibility into Application > Performance > > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > > Monitor end-to-end web transactions and take corrective actions now > > Troubleshoot faster and improve end-user experience. Signup Now! > > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 > > _______________________________________________ > > qooxdoo-devel mailing list > > qooxdoo-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel > > -- > Oetiker+Partner AG tel: +41 62 775 9903 (direct) > Fritz Zaucker +41 62 775 9900 (switch board) > Aarweg 15 +41 79 675 0630 (mobile) > CH-4600 Olten fax: +41 62 775 9905 > Schweiz web: www.oetiker.ch > > ------------------------------------------------------------------- > ----------- > Site24x7 APM Insight: Get Deep Visibility into Application > Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 > _______________________________________________ > qooxdoo-devel mailing list > qooxdoo-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel > > ------------------------------------------------------------------ > ------------ > Site24x7 APM Insight: Get Deep Visibility into Application > Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 > _______________________________________________ > qooxdoo-devel mailing list > qooxdoo-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ qooxdoo-devel mailing list qooxdoo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel