-
Notifications
You must be signed in to change notification settings - Fork 470
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
Seriously slow? #16
Comments
Hi, thanks for your issue. This project is coded for fun and learning. Besides that, it is in the baby stage(two months old, mostly programmed by one guy). So, do not expect too much : ) I will try my best to finish this project and make it run faster. |
Btw this project is cool 🆒 i'll look forward for the completion 👍 |
@zxh0 could there be a bug or something related to this? I have a feeling that no matter how slow, it shouldn't take that long. I don't know anything but yeah, my 2 cents. |
Yes, it's too slow :( I did some cpu profile and code optimization yesterday, but I feel it's not the time to do this kind of stuff. For now, this jvm is still a toy. Thread, ClassLoader, Java Memory Model, File, Socket... a lot of things are still not working(correctly). I will try to implement all of that and then go back to this issue. |
While peeking at the code I think it's already using a threaded interpreter, right? |
Actually, writing a JIT is beyond my ability :( |
Go can't easily support a JIT currently because Go's memory model clashes with most ways of doing jit. Creating a JIT itself is not particularly hard. |
What if we instead transpiled Java to Golang, and then could get native execution speed? Kind of like GWT transpiles Java bytecode to JavaScript. |
@BPILOT why use go then? GCC has gcj which compiles Java to native x64 elf binaries. |
How about migrate VMKit to latest LLVM? |
I tried to execute this code using
jvmgo
but it took too much time, more than
578.62
s (I terminate execution because it took too long), for comparison openjdk 8u40 gives complete output within1.23
sOS: 64-bit ArchLinux
Kernel version:
3.18.7-1
Processor:
i3-4150
RAM:
16GB
The text was updated successfully, but these errors were encountered: