Given: project (C ++), VPS server (Ubuntu), MSVS 2015 update 2, Netbeans 8.0.2.

We conduct a remote assembly on the server, from Netbeans - the total time is a minute with a little tail.

We perform a remote build on the server, from MSVS - the total time is six minutes.

It is noticed that in the first case the processor on the server is loaded and the process of compilation is constantly in the top. In the second case, the processor is not loaded and the compilation is only occasionally located in the top - it works as if against a background.

What and how to change (prescribe, check / uncheck) to speed up the build using MSVS?

  • one
    the sources are the same? are going to the same team? - aleksandr barakin
  • @alexander barakin The sources are the same. Assembly commands under MSVS could not be found either on the server or locally. - Max ZS
  • one
    But how does everything happen? How do netbeans and msvs connect to another operating system? I think it is worth mentioning this (at least with references to manuals) right in the question. - aleksandr barakin
  • @alexander barakin Connect via ssh ... And what's the difference in general, how does the process of connecting, opening files, etc. occur? You might as well ask for a link to the manual, which describes how to open a file from disk. This is not something unusual for these IDEs - the remote assembly is "embedded" in them. Who used - he knows. And who did not use such opportunities - the answer from those, as it were, is not expected. - Max ZS
  • The connectivity method is important for trying to help determine which particular msvs and netbeans commands are running. but you are right, I have never used either msvs or netbeans in my life, because, indeed, I cannot tell you anything about these particular programs. - aleksandr barakin

1 answer 1

The problem is most likely that vcxproj lies locally, and MSVS parses it and for each file sends a compilation command to the remote machine, waits for a response, etc. Unlike netbins, which simply gives the build command and that's it. There is a possibility that the problem is not solved within the MSVS settings. But you can find out more accurately. See Comments.

  • I guess about this state of affairs. But in general, the question is put this way: what needs to be changed in MSVS to fix this behavior? Although in general, the client can even be at least ten times when sending a command to compile a file. In any case, this does not justify such a time. Can you imagine the miser of the size of the team itself? Do you think it is transferred to the server for some significant time? Or do you think that this is re-connecting? I do not think so. There these teams no more than 30. For 10 seconds to transfer a command? And the Makefile is not a common choch running commands to process, but in order. - Max ZS
  • About ticks in MSVS I will not say anything, did not work. But to get to the bottom of the problem is to try. But already having understood the essence, you can look for solutions. Wireshark'om had to use? He could clearly show what is happening on the network, with timestamps, etc. I advise. Now I'll think about it ... - tum_
  • Thinking out loud .. no more than 30 - useful info, i.e. small project. Time is spent not on the actual transmission, but on all sorts of expectations and switching from transmission to reception .. Establishing a connection. again - very unlikely, but it is impossible to exclude .. I have not seen this. :) By the way, is the server in the same LAN with the client or is it really "remote"? ... one after another - that's the point, it would be a lot more quickly ... It’s a pity that I didn’t work with Msvs .. At Eclips now, I’m at embedded systems. - tum_
  • The published message does not contain a solution. When your reputation reaches the required level, you can leave comments on any message ; for now, please make an improvement in your post so that it will answer the question without further clarification from the author . - From the queue of checks - Streletz
  • one
    @ Maxxs yep, I see. Max, you would have raised my reputation for something, otherwise you can’t do a damn thing ... I basically can search the English versions of Stack Overflow / Stack Exchange. And on the issue: 1. WireShark is absolutely necessary for any debugging of network things, without it - the game is blind. 2. As I wrote in the answer - the problem is hardly solved within VS, you need to find the mode of operation, in the cat. The makefile is generated, placed on the server together with the project, and the build is done directly on the server - the client only gets the final result. But this is hardly what you need ... - tum_