nolanlawson / cordova-plugin-sqlite-2

Native SQLite database API for Cordova/PhoneGap/Ionic, modeled after WebSQL (UNMAINTAINED)
https://nolanlawson.com/2016/04/10/introducing-the-cordova-sqlite-plugin-2/
Apache License 2.0
168 stars 28 forks source link

Excessive GC in Android #13

Closed nolanlawson closed 8 years ago

nolanlawson commented 8 years ago

Next big performance hurdle I need to take on. Seen in KitKat emulator:

  1869               dalvikvm  D  GC_CONCURRENT freed 716K, 75% free 843K/3288K, paused 14ms+0ms, total 16ms
  1869               dalvikvm  D  GC_CONCURRENT freed 715K, 75% free 842K/3288K, paused 13ms+0ms, total 15ms
  1869               dalvikvm  D  GC_CONCURRENT freed 713K, 75% free 843K/3288K, paused 16ms+0ms, total 17ms
  1869               dalvikvm  D  GC_CONCURRENT freed 800K, 76% free 811K/3288K, paused 0ms+0ms, total 1ms
  1869               dalvikvm  D  GC_CONCURRENT freed 678K, 76% free 816K/3288K, paused 15ms+1ms, total 19ms
  1895               dalvikvm  D  GC_CONCURRENT freed 889K, 18% free 6114K/7368K, paused 13ms+0ms, total 17ms
  1869               dalvikvm  D  GC_CONCURRENT freed 655K, 75% free 849K/3288K, paused 16ms+0ms, total 17ms
  1869               dalvikvm  D  GC_CONCURRENT freed 728K, 75% free 842K/3288K, paused 13ms+1ms, total 14ms
  1869               dalvikvm  D  GC_CONCURRENT freed 713K, 75% free 843K/3288K, paused 26ms+0ms, total 28ms
  1869               dalvikvm  D  GC_CONCURRENT freed 713K, 75% free 844K/3288K, paused 12ms+0ms, total 14ms
  1869               dalvikvm  D  GC_CONCURRENT freed 716K, 75% free 844K/3288K, paused 12ms+1ms, total 14ms
  1869               dalvikvm  D  GC_CONCURRENT freed 716K, 75% free 843K/3288K, paused 17ms+1ms, total 22ms
  1869               dalvikvm  D  GC_CONCURRENT freed 715K, 75% free 842K/3288K, paused 17ms+0ms, total 19ms
  1895               dalvikvm  D  GC_CONCURRENT freed 870K, 17% free 6120K/7368K, paused 1ms+1ms, total 4ms
  1869               dalvikvm  D  GC_CONCURRENT freed 711K, 75% free 844K/3288K, paused 18ms+0ms, total 19ms
  1895          PluginManager  W  THREAD WARNING: exec() call to SQLitePlugin.exec blocked the main thread for 19ms. Plugin should use CordovaInterface.getThreadPool().
  1869               dalvikvm  D  GC_CONCURRENT freed 717K, 75% free 844K/3288K, paused 12ms+0ms, total 13ms
  1869               dalvikvm  D  GC_CONCURRENT freed 717K, 75% free 842K/3288K, paused 16ms+0ms, total 17ms
  1869               dalvikvm  D  GC_CONCURRENT freed 713K, 75% free 843K/3288K, paused 15ms+0ms, total 17ms
  1869               dalvikvm  D  GC_CONCURRENT freed 776K, 74% free 877K/3288K, paused 23ms+0ms, total 25ms
nolanlawson commented 8 years ago

Unfortunately this seems to be due to the Cordova strings that get sent back and forth, so I'm not sure how much this can be improved.

NitzDKoder commented 8 years ago

GC can kick in this use case.. https://github.com/nolanlawson/cordova-plugin-sqlite-2/issues/31