Open Redbeanw44602 opened 5 months ago
We did a small experiment to evaluate the performance of bds under linux and windows.
We created 4096 TNT (from 0,0,0 to 15,15,15) and detonate it at the same location (0, 15, 0). To avoid chance, we conducted the experiment three times under the same environment, the result is as follows:
System | First(s) | Second(s) | Third(s) | Average(s) |
---|---|---|---|---|
Windows | 57.3 | 58.2 | 57.1 | 57.5 |
Wine | 55.9 | 51.9 | 52.2 | 53.3 |
Linux | 69.3 | 72.1 | 71.3 | 70.9 |
It can be seen that the time required for BDS to complete the 4096 TNT explosion calculations under linux is more than ten seconds longer than that under windows(not wine).
This is just a simple performance test. It does not reflect all the performance of BDS on different platforms, but it is also representative to a certain extent (TNT explosion involves calculations of various systems). The reason for this situation may be due to the compiler optimization level when BDS uses clang to generate executable files suitable for linux.
我很需要这个支持
It will allow people to create more servers on levilamina because of cost of the servers. Windows server 4 or more times more expensive than linux server, depends on hosting service. Yeah we have docker image that runs under wine but there a lot of restrictions such as uv_pipe_opened problem on node js and the size of image is really big.
Sorry for my English)
We are planning to add support to the linux version of bedrock dedicated server.
Preconditions
We need perfect c++ header files generated from Win-BDS because the name mangling standard defined in the itanium c++ abi does not contain a complete declaration. The current header is close to perfection, but it has some shortcomings, such as some virtual functions are unknown or the order is incorrect. This problem also affects: #1041 #1429 .
Making cross-platform