Just submitted PR with example implementation: 
https://github.com/apache/cordova-android/pull/440

On 2018/05/01 16:42:11, chemeri...@gmail.com <chemeri...@gmail.com> wrote: 
> For anybody who is interested in what options java has to invoke methods I 
> recommend to read an interested link 
> https://stackoverflow.com/questions/19557829/faster-alternatives-to-javas-reflection.
>  Accepted answer has useful information and demo class where different 
> technics tested. On my machine (macbook pro 13'' 2013) results like below:
> 
> $ java -version
> java version "1.8.0_25"
> Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
> Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
> $ java TestMethodPerf
> direct: 0.02s, lambda: 0.02s, mh: 0.33s, reflection: 0.34s
> 
> I do agree that performance should be strongly considerated before making any 
> changes. Still thinking of the best way how to measure and analyze results 
> for CordovaPlugin specifically.
> 
> On 2018/05/01 08:49:12, Frederico Galvão <frederico.gal...@pontoget.com.br> 
> wrote: 
> > Although a relative performance metric is important and a good starting
> > point, it's by far the most overused checkpoint to stop something from
> > being considered in programming, when in reality absolute numbers and
> > context are the truth. It doesn't matter if, from a arbitrary 200ms from
> > activity lifecycle start to deviceReady we increase it to 220ms to process
> > annotations, and then have an extra 5ms on each call compared to 1ms from
> > the pure call cost in a pool of 100ms per "request" (from js callsite to
> > callback). That's a relative 5x increase in time taken per call, indeed,
> > but a useless drop in the ocean near what's the total time of communication.
> > 
> > Readability and maintainability are very important aspects of a
> > framework/protocol when the plugin author is an end user too. As a mere
> > cordova user, I'd rather see this taken to a deeper level of consideration
> > and benchmarking before discarding.
> > 
> > 2018-05-01 0:22 GMT-03:00 Simon MacDonald <simon.macdon...@gmail.com>:
> > 
> > > >
> > > > On Mon, Apr 30, 2018 at 12:37 PM Wojciech Trocki <wtro...@gmail.com>
> > > > wrote:
> > > >
> > > > Maybe I'm not understanding the goal here and it would be clearer with 
> > > > an
> > > > example, but it looks like this would split each action out into its own
> > > > class? I'm not sure what advantage there is to that, since you'd lose
> > > > access to all the CordovaPlugin members like the webview and
> > > > CordovaInterface.
> > > >
> > >
> > > I agree with Darryl here, I'm not sure what that PR actually makes better?
> > > It seems to make the problem worse.
> > >
> > >
> > > >  From a plugin author standpoint, a @CordovaMethod annotation to expose
> > > > specific plugin methods to JS would be ideal, but it's not such a
> > > > convenience that it's worth any performance hit. The string-based 
> > > > execute
> > > > is clunky, but not all that much of a problem if you just use it to
> > > > dispatch to other methods.
> > > >
> > >
> > > If annotations are 5-6 times slower than normal method calls I think this
> > > was a good idea that the OS can't handle. We are dealing with devices 
> > > where
> > > 100ms makes the difference between a "smoothly performing" app and a
> > > "janky" app.
> > >
> > > Simon
> > >
> > 
> > 
> > 
> > -- 
> > 
> > *Frederico Galvão*
> > 
> > Diretor de Tecnologia
> > 
> > PontoGet Inovação Web
> > 
> > 
> > ( +55(62) 8131-5720
> > 
> > * www.pontoget.com.br <http://www.pontoget.com/>
> > 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org
> For additional commands, e-mail: dev-h...@cordova.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org
For additional commands, e-mail: dev-h...@cordova.apache.org

Reply via email to