Comments (2)
If the above is too slow, another solution is to implement a pool of threads to make sure finalizers are expediently executed once the GC makes up its mind to run them.
Using a threadpool is probably over-complicating the solution. A single bound thread could do if performance is not a concern.
If the java heap is full and needs fast deletion of global references, can java force the Haskell GC to run the finalizers promptly before java finishes garbage collection? If not, which scenario would take advantage of a fast deletion of local references?
from inline-java.
Next steps:
- Change the finalizers calling
deleteGlobalRefNonFinalized
to userunInAttachedThread
. - Measure how long it takes attaching and detaching a thread to the JVM when compared with the time it takes to delete
deleteGlobalRefNonFinalized
. - Have the finalizers execute
deleteGlobalRefNonFinalized
on a dedicated attached thread and measure how long it takes to delete a bunch of global references.
from inline-java.
Related Issues (20)
- Optimize disposal of IOVectors
- Bound the queue of the finalizer thread
- loadJavaWrappers leaks one local reference per class to load
- Move the RWLock implementation in jni to use stm
- Prepare jvm-batching.jar to be released in maven central HOT 3
- Handle modified UTF-8 correctly HOT 1
- Don't write on stderr each time an Exception occurs HOT 2
- ghc: could not execute: ./cpphs-cpp HOT 3
- Create targets in bazel to build and run benchmarks
- Have tests in jvm-batching and jvm-streaming running in bazel
- Set the CLASSPATH in a wrapper for binaries HOT 1
- Handle uncaught JVMExceptions in withJVM
- The bazel build breaks at fetch of repository in WSL HOT 4
- Existing Project Integration HOT 4
- Migrate CI to github workflows HOT 3
- cpp:hello-success-test fails on macOS Monterey (aarch64) HOT 4
- Multiple withJVM calls hangs HOT 4
- Updates for text 2.x package HOT 5
- haskell.nix support for `jni` and `jvm` packages HOT 4
- don't rely on `JNI_GetCreatedJavaVMs` HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from inline-java.