-
Dear developer, Hello, I am a software engineering student named Mixky now very interested in your open source project and is engaged in this part of wrapper related research, is currently exploring the impact of wrapper on the overall performance of box64, I wrote a few common test library functions from X86 to ARM architecture, I want to wrapper in I want to test the program runtime with the wrapper function enabled or disabled respectively, because the translation function needs to be enabled without the wrapper native library. I have encountered some errors in the process, so I would like to ask you if this part of the wrapper function is provided with parameters that can be turned off or enabled separately, or how I can go about solving this problemo(╥﹏╥)o |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 24 replies
-
Some libs cannot be "unwrapped" for now. Mainly "libc" and "pthread", they have to be used wrapped because some of the system function that they used internaly if emulated are not supported (the FS/GS tls segment handling). You want to compare performances with and without wrapping the libs right? (and thank you for your interest in box64 project :) ) |
Beta Was this translation helpful? Give feedback.
-
Can you give me some advice on this :) |
Beta Was this translation helpful? Give feedback.
-
I am most grateful for your detailed and insightful responses to my queries. They have significantly enhanced my understanding of wrapper function optimisation and the handling of the jmpbuf structure. I will certainly heed your suggestions for further experimentation and performance tuning in my project. Once again, thank you for your generous assistance and for sharing your expertise! |
Beta Was this translation helpful? Give feedback.
-
Dear ptiseb,I have encountered a problem that I'm having trouble solving by myself and I was hoping you could assist me. I noticed that within the 'wrapped' directory, there are multiple library files of the same name but with different suffixes. In the **_private.h files, I found numerous GO function definitions, while the corresponding **.c files only seem to implement the wrapping of functions defined in GOM. If I wanted to add my own function wrappings, what criteria should I use to decide between using GO or GOM? Are there specific types of functions that need to be wrapped with GOM perhaps due to dynamically generated data that needs to be processed during runtime? |
Beta Was this translation helpful? Give feedback.
Yes, I was trying to compare the performance of the wrapper with and without the wrapper. I am currently making it possible to run only using the mock library by commenting all GO functions in src/library_list.h, and this is generating some errors. I'm not sure if I'm doing it right, so I'd like to ask you for your comparative work on the performance of the wrapper. My current research direction is to output a paper on optimizing the wrapper for the Box64 project, and I'd also like to ask you what clear directions I can take for optimization or how to go about it.
and thank you for your help :)