-
Notifications
You must be signed in to change notification settings - Fork 574
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Android #269
base: master
Are you sure you want to change the base?
Support Android #269
Conversation
…cess singleton methods.
…atic ThreadAccess methods.
…JDK version. This allows to use ThreadLocalRandom under Java 1.6.
…oject which has source code. In addition, the new dependency also provides ThreadLocalRandom, which is not available in Java 1.6.
26df1de
to
d89a87e
Compare
Wow that's cool! What does "basic support" mean, have you been able to run Android applications using this modified Quasar, which parts of Quasar and with which degree of success? Also, how about regular Java 1.6 applications? I also wonder how it'd be possible to CI those platforms and also about performance impacts, for example related to the What's your experience so far about the above? |
"basic" means to run quasar fibers.
I have no specific Java 1.6 application to test with (apart from an Android application, which, unfortunately, is not yet open source).
It is tricky (especially due to android emulator bugs and Android SDK quirks), but possible. I’ll try to get Android CI working without requiring Android support for regular quasar users. For that to become easier, it would be nice if you could review or merge #267 as well as #268, as these make the current tests less flaky, which is required to make potential CI failures actually show Android specific problems.
I have no data, but mostly because I do not know about any benchmarks. Is there any benchmarking code or are there any performance tests available? I’d expect a minor to zero performance impact on optimizing VMs (e.g. HotSpot), as the UNSAFE methods are called under the hood, as evidenced here: http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/43cb25339b55/src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java#l382
With the changes, quasar fibers work without flaws so far. |
Oh, wow! It will obviously take some time to process, but just something off the bat: why are you using something called |
The provided file The reason to choose |
These changes bring basic support for Android from Android API Level 10 onward. This also means that these changes bring basic support for Java 1.6.