Title: Use misc.Unsafe for speed improvements · Issue #17 · JavaBWAPI/JBWAPI · GitHub
Open Graph Title: Use misc.Unsafe for speed improvements · Issue #17 · JavaBWAPI/JBWAPI
X Title: Use misc.Unsafe for speed improvements · Issue #17 · JavaBWAPI/JBWAPI
Description: Avoids java bounds checking, testing in experimental branch. Results are promising Even for simple retrieval of ints/bytes (NOT objects, e.g. were BWMirror is much slower) Performance results BWMirror - JNI 1000000 calls in : 23.5 ms 100...
Open Graph Description: Avoids java bounds checking, testing in experimental branch. Results are promising Even for simple retrieval of ints/bytes (NOT objects, e.g. were BWMirror is much slower) Performance results BWMir...
X Description: Avoids java bounds checking, testing in experimental branch. Results are promising Even for simple retrieval of ints/bytes (NOT objects, e.g. were BWMirror is much slower) Performance results BWMir...
Opengraph URL: https://github.com/JavaBWAPI/JBWAPI/issues/17
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Use misc.Unsafe for speed improvements","articleBody":"Avoids java bounds checking, testing in [experimental](https://github.com/JavaBWAPI/JBWAPI/tree/experimental) branch.\r\n\r\nResults are promising\r\n\r\nEven for simple retrieval of **ints/bytes** (**NOT** objects, e.g. were BWMirror is much slower)\r\n\r\n**Performance results**\r\n\r\n```\r\nBWMirror - JNI\r\n1000000 calls in : 23.5 ms\r\n1000000 calls in : 23.28 ms\r\n1000000 calls in : 21.68 ms\r\n1000000 calls in : 20.78 ms\r\n1000000 calls in : 20.5 ms\r\n1000000 calls in : 21.33 ms\r\n1000000 calls in : 20.35 ms\r\n1000000 calls in : 22.86 ms\r\n1000000 calls in : 21.34 ms\r\n1000000 calls in : 21.3 ms\r\n1000000 calls in : 22.61 ms\r\n```\r\n\r\n```\r\nJBWAPI - Buffer\r\n\r\n1000000 calls in : 18.11 ms\r\n1000000 calls in : 16.92 ms\r\n1000000 calls in : 15.82 ms\r\n1000000 calls in : 17.54 ms\r\n1000000 calls in : 19.19 ms\r\n1000000 calls in : 23.89 ms\r\n1000000 calls in : 16.63 ms\r\n1000000 calls in : 23.32 ms\r\n1000000 calls in : 15.7 ms\r\n1000000 calls in : 15.77 ms\r\n1000000 calls in : 16.62 ms\r\n```\r\n\r\n```\r\nJBWAPI - Unsafe\r\n\r\n1000000 calls in : 8.15 ms\r\n1000000 calls in : 6.37 ms\r\n1000000 calls in : 3.93 ms\r\n1000000 calls in : 4.11 ms\r\n1000000 calls in : 3.93 ms\r\n1000000 calls in : 4.08 ms\r\n1000000 calls in : 4.05 ms\r\n1000000 calls in : 4.0 ms\r\n1000000 calls in : 4.01 ms\r\n1000000 calls in : 3.93 ms\r\n1000000 calls in : 4.12 ms\r\n```\r\n```\r\nC++ (Client) (thanks to @N00byEdge)\r\n1000000 calls in 2.78177ms\r\n1000000 calls in 3.05884ms\r\n1000000 calls in 3.51817ms\r\n1000000 calls in 2.8359ms\r\n1000000 calls in 3.92982ms\r\n1000000 calls in 5.74114ms\r\n1000000 calls in 3.34673ms\r\n1000000 calls in 3.29377ms\r\n1000000 calls in 4.41666ms\r\n1000000 calls in 3.73234ms\r\n```","author":{"url":"https://github.com/JasperGeurtz","@type":"Person","name":"JasperGeurtz"},"datePublished":"2019-01-03T11:58:20.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/17/JBWAPI/issues/17"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:7e24f968-9531-cf4b-12fc-d3eb8a844335 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 88B4:30D10E:B85446:F19E24:6971744A |
| html-safe-nonce | 6151e7dfdf2152eecdbcb47dc3dc0cf4987c072bdfb18b711c922ca9a234f6c7 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4OEI0OjMwRDEwRTpCODU0NDY6RjE5RTI0OjY5NzE3NDRBIiwidmlzaXRvcl9pZCI6IjEzMzUyOTM1Mzg4NTY3NjYxOCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | d819d9e60bf8564c0dc19b7ee4c5a9707ca165da4917d10397db154b5e044d40 |
| hovercard-subject-tag | issue:395548132 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/JavaBWAPI/JBWAPI/17/issue_layout |
| twitter:image | https://opengraph.githubassets.com/ec78a1cb69de305e5ad69818f3db1578c9b7995ac717dea3e185206242f44295/JavaBWAPI/JBWAPI/issues/17 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/ec78a1cb69de305e5ad69818f3db1578c9b7995ac717dea3e185206242f44295/JavaBWAPI/JBWAPI/issues/17 |
| og:image:alt | Avoids java bounds checking, testing in experimental branch. Results are promising Even for simple retrieval of ints/bytes (NOT objects, e.g. were BWMirror is much slower) Performance results BWMir... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | JasperGeurtz |
| hostname | github.com |
| expected-hostname | github.com |
| None | 102ab681b33bed6a87d35dc54dd8200470d7e01648f08979e84415ab67d611aa |
| turbo-cache-control | no-preview |
| go-import | github.com/JavaBWAPI/JBWAPI git https://github.com/JavaBWAPI/JBWAPI.git |
| octolytics-dimension-user_id | 46279254 |
| octolytics-dimension-user_login | JavaBWAPI |
| octolytics-dimension-repository_id | 149718845 |
| octolytics-dimension-repository_nwo | JavaBWAPI/JBWAPI |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 149718845 |
| octolytics-dimension-repository_network_root_nwo | JavaBWAPI/JBWAPI |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 6a660b76f271bda19afb9f5242b473bfee637a5a |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width