On 08/19/2010 02:24 AM, Ralf Nieuwenhuijsen wrote: > *Long term qooxdoo-development-wise. * > * > * > Perhaps it would make more sense to write the generator in a language > more suitable for that particular goal, like Haskell? > If I would a proper understanding of everything it does, I would give it > a go myself. > > The sort of computation it seems to do is very stream based. I wouldn't > recommend Haskell for a lot of tasks, but for a tool like that, it > should be the first considered candidate. > It would have very good performance, require very little code to write, > and we can easily assert it to be semantically correct.
In fact, AFAICT Haskell would be a very good choice indeed. Just as you say, the generator is mostly parsing and data transformation tasks, which Haskell is very good at. Besides, Haskell seems to have decent concurrency support, and can compile to machine code. This all nicely addresses the performance issue. So, from a technology standpoint, Haskell would be a very good choice for the generator, and would surely be a significant performance gain over what we have in Python now. Also, Haskell has arrived at the mainstream well enough (regarding online material, available libraries, books like O'Reilly's "Real-world Haskell", asf.) to consider it for industrial projects. The thing is the "cultural environment" issue. While I would not hesitate to commit myself to Haskell, I don't know what others on the project and in the company would say. It is a learning curve, as with any language, but it is not clear to me how well it would integrate with other efforts, and what the acceptance rate would be. Also, there would be other contenders to consider ... > > One of the nice advantages of having a parser in Haskell, is that it > would be very easy to add some javascript optimizations for the less > intelligent browsers out there. > Stuff like converting: > > myObject.someMethod( foo[bar], foo[bar] ); > > To: > > var foobar = foo[bar]; > myObject.someMethod( foobar, foobar ); This is true, but should be true for Python, or any other implementation language, as well. T. > > As for ready to go javascript parsers & pretty printers for Haskell, see: > http://hackage.haskell.org/package/WebBits > > -- Greetings, > -- Ralf > > > 2010/8/16 Jean-Baptiste BRIAUD -- Novlog <j-b.bri...@novlog.com > <mailto:j-b.bri...@novlog.com>> > > Hi, > > I was wondering how I could speed up the generate script. > > I just remind that because we are generating all the source code for > an application (qx client, Java server, SQL), that script is > launched quite often. > That step (generate build) currently take about 90% of the total > time to create an application (generate files, compile backend, > create qooxdoo application, install database schema, deploying...). > > I already set the cache to a folder in a ram disk. > It improve speed but I would like more. > > So, I did try to put the entire SDK in a ram disk. > This is the best IO bandwidth I could think about. > > To my surprise the time for a generate build didn't improve. > Tests had been done with an empty cache so the difference would be > only due to the SDK in a ram disk. > No difference (less than 5%) while the bandwidth of the ram disk is > far more than 5% compare to the HDD. > > So, what else could I try to improve that speed, any advices, ideas ? > > Thanks ! > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by > > Make an app they can't live without > Enter the BlackBerry Developer Challenge > http://p.sf.net/sfu/RIM-dev2dev > _______________________________________________ > qooxdoo-devel mailing list > qooxdoo-devel@lists.sourceforge.net > <mailto:qooxdoo-devel@lists.sourceforge.net> > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel > > > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by > > Make an app they can't live without > Enter the BlackBerry Developer Challenge > http://p.sf.net/sfu/RIM-dev2dev > > > > _______________________________________________ > qooxdoo-devel mailing list > qooxdoo-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel ------------------------------------------------------------------------------ Sell apps to millions through the Intel(R) Atom(Tm) Developer Program Be part of this innovative community and reach millions of netbook users worldwide. Take advantage of special opportunities to increase revenue and speed time-to-market. Join now, and jumpstart your future. http://p.sf.net/sfu/intel-atom-d2d _______________________________________________ qooxdoo-devel mailing list qooxdoo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel