{"push_id":1623276396,"size":9,"distinct_size":9,"ref":"refs/heads/n2","head":"72296819e0db6e90f576398793ddc334bc03ea7b","before":"7ca2ec88d241b4539b90c1c82ac2e8582a029f8d","commits":[{"sha":"48e2900d63f31d087247220a3dc4cc6aee94f22e","author":{"name":"BigBrother1984","email":"f8acab2da3004d752f1e32700cb9e6c827c03949@aospa.co"},"message":"SystemUI: Tiny expanding improvement\n\nSigned-off-by: BigBrother1984 <carlosavignano@aospa.co>\nSigned-off-by: xyyx <xyyx@mail.ru>","distinct":true,"url":"https://api.github.com/repos/nitrogen-project/android_frameworks_base/commits/48e2900d63f31d087247220a3dc4cc6aee94f22e"},{"sha":"f4451756f945ba3fda3a76dbb004a3b558a28769","author":{"name":"Snild Dolkow","email":"ad7774d62ec6ebe4806530ce49a79468ff5f4089@sonymobile.com"},"message":"[1/4] sqlite query perf: better window selection in common case\n\nMost queries will simply be read from start to finish with moveToNext.\nIf the required row is just outside the current window, this is most\nlikely what's going on, so let's not waste time filling the cursor\nwindow with data that we've already passed.\n\nThat means that each window will now contain 50% more new data, which\nlets us fill 33% fewer windows.\n\nMy benchmark - moveToNext() through a 25000-row result set, with the\nwindow being able to fit around 6700 - improved from 1750ms to 1350ms.\n\nChange-Id: Ic434f59170b9358eb59fcf0495cc6dfced362477","distinct":true,"url":"https://api.github.com/repos/nitrogen-project/android_frameworks_base/commits/f4451756f945ba3fda3a76dbb004a3b558a28769"},{"sha":"c45214b5c2dcfa61a14187453ed3ee4a4710702e","author":{"name":"Snild Dolkow","email":"ad7774d62ec6ebe4806530ce49a79468ff5f4089@sonymobile.com"},"message":"[2/4] sqlite query perf: try to reuse in-flight statements\n\nIf we avoid resetting statements, we may be able to continue where we\nleft off last time. This saves us the work of repeating the whole query\nover and over again when we just want to fill sequential windows.\n\nHowever, leaving statements open like that (\"busy\", in sqlite terms)\nmay cause some queries to return SQLITE_LOCKED (example: DROP TABLE).\nSo, we have to add some logic to reset any busy statements whenever\na query fails with that error. This meant that we had to be able to\ncall up to Java from native, which forced me to change a few methods\nfrom static to instance, which makes the patch look bigger than it\nreally is.\n\nLeaving statements open also keeps sqlite's internal query state,\nincreasing memory usage. We'll mitigate this in the next patch.\n\nMy benchmark - moveToNext() through a 25000-row result set, with the\nwindow being able to fit around 6700 - improved from 1350ms to 750ms.\n\nChange-Id: I03af49d8b1bade3e63c00f3fe5ef3259989c292c","distinct":true,"url":"https://api.github.com/repos/nitrogen-project/android_frameworks_base/commits/c45214b5c2dcfa61a14187453ed3ee4a4710702e"},{"sha":"42dd742cc3281d89ea05f803935e4b480e2dd7df","author":{"name":"Snild Dolkow","email":"ad7774d62ec6ebe4806530ce49a79468ff5f4089@sonymobile.com"},"message":"[3/4] sqlite query perf: clean up in-flight statements on cursor close\n\n(...or deactivate, even though it's deprecated)\n\nLet the SQLiteQuery hold a WeakReference<PreparedStatement> so that we\ncan tell the SQLiteConnection when there's no longer a use for avoiding\nresetting that statement.\n\nSince PreparedStatements can be pooled or reused, we also have to keep\na WeakReference to the \"last client\" (i.e. the SQLiteQuery) from the\nstatement, so that we can check that it's still the right one.\n\nIf the connection is available (not acquired by a thread), the reset\nwill happen immediately. Otherwise, it be kept in a queue on the\nconnection, and the reset will happen when the connection is released.\nTo avoid races, the queueing and clearing is always done while holding\nSQLiteConnectionPool.mLock.\n\nChange-Id: I30fe9a72ef7c08cc5adcf233cca2ae216b97eb86","distinct":true,"url":"https://api.github.com/repos/nitrogen-project/android_frameworks_base/commits/42dd742cc3281d89ea05f803935e4b480e2dd7df"},{"sha":"f06ef63fcfe2b7016d8a8507429972dcccaebe6c","author":{"name":"Snild Dolkow","email":"ad7774d62ec6ebe4806530ce49a79468ff5f4089@sonymobile.com"},"message":"[4/4] sqlite query perf: try to avoid getCount()\n\nThe AbstractCursor and SQLiteCursor implementations are very fond of\ncalling getCount(), which forces us to consume the whole result set of\nour statement. This means that the statement has to be re-executed for\nthe next window fill. In most cases, the code doesn’t actually need to\nknow the actual count, just whether a position is within bounds.\n\nSo:\n* Add an isAfterLast(int position) method to AbstractCursor, which by\n  default keeps the default behavior of using getCount().\n* Override the implementation of that method in SQLiteCursor, so that\n  it only consumes as far as is needed for the range check.\n* Make AbstractCursor use isAfterLast() everywhere it was previously\n  using getCount(), where possible.\n* Let SQLiteCursor override the moveToPosition(int position) range\n  checking, enabling it to combine the range check and window fill.\n\nMy benchmark - moveToNext() through a 25000-row result set, with the\nwindow being able to fit around 6700 - improved from 750ms to 500ms.\n\nChange-Id: I4ff4a46b490a87cbb0adf733260c009edbc95dcd","distinct":true,"url":"https://api.github.com/repos/nitrogen-project/android_frameworks_base/commits/f06ef63fcfe2b7016d8a8507429972dcccaebe6c"},{"sha":"4b1cecf65084177cfcefb1e23faa47a188665125","author":{"name":"Tobias Thierer","email":"0c6d98894f13752c879e0db87544d7b4520e1ad8@google.com"},"message":"Avoid needless Integer.valueOf() object allocation.\n\nReplaced call to method taking Object with call that takes int.\n\nBug: 28289401\nChange-Id: I570ed9d40ca6239fab33355de2babefd509db9aa","distinct":true,"url":"https://api.github.com/repos/nitrogen-project/android_frameworks_base/commits/4b1cecf65084177cfcefb1e23faa47a188665125"},{"sha":"99c732661d0fa6c8f802d37df28a5dd264d3f252","author":{"name":"Tobias Thierer","email":"0c6d98894f13752c879e0db87544d7b4520e1ad8@google.com"},"message":"Integer.valueOf() -> Integer.parseInt() to avoid allocation.\n\nBug: 28289401\nChange-Id: If767f891644a06ba587f9bb55dccea4089a8c66d","distinct":true,"url":"https://api.github.com/repos/nitrogen-project/android_frameworks_base/commits/99c732661d0fa6c8f802d37df28a5dd264d3f252"},{"sha":"aa685797878bd69308129950d7222cdd6d115676","author":{"name":"Alex Naidis","email":"ad085e11ad34a1b3d36c5e10a4529f07b99e9fd7@linux.com"},"message":"ViewConfiguration: Set scroll friction to 0.012\n\nReduce scroll friction to a better default\nvalue which is used in Scroller and Overscroller.\n\nChange-Id: I66a7663a18bb80263c51f3d54a2bb1e3fe5d0b4d\nSigned-off-by: Alex Naidis <alex.naidis@linux.com>","distinct":true,"url":"https://api.github.com/repos/nitrogen-project/android_frameworks_base/commits/aa685797878bd69308129950d7222cdd6d115676"},{"sha":"72296819e0db6e90f576398793ddc334bc03ea7b","author":{"name":"liangweikang","email":"ac9fe5253cd3e6e4c5c3d91c72ed349b7e160bb2@gmail.com"},"message":"[BUG] fix NullPointerException in Notification.java\n\nhttps://code.google.com/p/android/issues/detail?id=252835\n\nTest: null\n\nChange-Id: I6c575686c75b02ac938f35622b522fff25403c29\nSigned-off-by: liangweikang <liangweikang900911@gmail.com>","distinct":true,"url":"https://api.github.com/repos/nitrogen-project/android_frameworks_base/commits/72296819e0db6e90f576398793ddc334bc03ea7b"}]}
{"actor":{"display_login":"xyyx"}}