Live data from Hacker News

Visual Studio 2013

blogs.msdn.com

141–150 of 201 posts

Re: Visual Studio 2013

#141

I wish they would dedicate more time to improving cl.exe and link.exe in terms of performance and language support and less time with these hokey team visualization gimics. Every release since 2008 has been getting slower and slower for C++, the C compiler is awful, PGO instrumentation in Win8 is less capable, and there's no equivalents in the Windows ecosystem to gcc's likely/unlikely, oprofile, or valgrind. It's at…

My assessment: Gimmicks: - Popout explorer windows (So you can get the old style Pending Changes window, if you like) - Make comments and discussions on code through web UI - New release management plugin - “Team rooms” allow your team to collaborate on code "I'm OK with this" improvements: - “Indicators” in code that give you info about blocks of code - Cloud load testing - More agile portfolio management options -…

Perhaps this post is just on TFS. If you aren't a PM or working in an enterprise software team, nothing about that will be very exciting.

Re: Visual Studio 2013

#142

Earlier quoted context omitted.

Mozilla has been fighting the MSVC linker's 3GB virtual address space limit for years. Mozilla has asked Microsoft for a 64-bit linker that can produce 32-bit code, but Microsoft apparently has no plans for such a configuration. https://groups.google.com/forum/?fromgroups#!topic/mozilla.d...

I am a bit confused. That thread seems to claim that Microsoft isn't producing a 64 bit linker, my install seems to disagree with them (vc\bin\amd64). Then you claim that the linker won't produce 32 bit code, but /machine:x86 seems to disagree with that. I tested this by building as 32 bit, then just repeating the link using the 64 bit linker and /machine:x86, worked fine. So what are their problems exactly? That the…

The problem is link time code generation. With link time optimization[0], which is a prerequisite for profile guided optimization, cl just compiles the source into some intermediate representation. Actual code generation is all done in link.exe at the final link. And /machine:x86 doesn't work with link.exe when using -GL. The x64 link.exe is not capable of generating x86 binaries with LTO.

[0] http://msdn.microsoft.com/en-us/library/0zza0de8%28v=vs.100%...

(Mozilla is building with 2010 now.)

Re: Visual Studio 2013

#143
post #71

Earlier quoted context omitted.

>But you're right, that clearly the "devs" have preferences. The problem with your mechanism is that they don't express them to you in customer service requests. They just job-hop to another environment, doing Javascript work, or Linux, or Ruby. And you never hear from them. >Basically, the way feedback works in this world is with feet, not bug reports. If you build it they will come. If you don't they will leave. Is…

Well, just to address the first point there is undeniably an "exodus" from Visual Studio. Just look at all the code shipped to run in browsers, or iOS, or Android, or on node or rails. A decade and a half ago a far (far!) greater fraction of that was spend in a Microsoft IDE. But that's really not the point. The upstream discussion was much narrower, and focused specifically on C/C++ support, which frankly sucks in t…

And HN is hardly representative of the software industry at large.

Re: Visual Studio 2013

#144
post #142

Earlier quoted context omitted.

I am a bit confused. That thread seems to claim that Microsoft isn't producing a 64 bit linker, my install seems to disagree with them (vc\bin\amd64). Then you claim that the linker won't produce 32 bit code, but /machine:x86 seems to disagree with that. I tested this by building as 32 bit, then just repeating the link using the 64 bit linker and /machine:x86, worked fine. So what are their problems exactly? That the…

The problem is link time code generation. With link time optimization[0], which is a prerequisite for profile guided optimization, cl just compiles the source into some intermediate representation. Actual code generation is all done in link.exe at the final link. And /machine:x86 doesn't work with link.exe when using -GL. The x64 link.exe is not capable of generating x86 binaries with LTO. [0] http://msdn.microsoft.c…

> (Mozilla is building with 2010 now.)

Also note that the problem still exists in VS2012, and in fact is even worse because the linker memory usage has gotten higher in general. Fortunately we now have a fairly good workaround (developed with help from Microsoft -- maybe some of the people in this thread?) that limits which files participate in PGO:

https://bugzilla.mozilla.org/show_bug.cgi?id=871712

Re: Visual Studio 2013

#145
post #41

I wish they would dedicate more time to improving cl.exe and link.exe in terms of performance and language support and less time with these hokey team visualization gimics. Every release since 2008 has been getting slower and slower for C++, the C compiler is awful, PGO instrumentation in Win8 is less capable, and there's no equivalents in the Windows ecosystem to gcc's likely/unlikely, oprofile, or valgrind. It's at…

C is officially deprecated. Personally I would like to see proper C++11 support instead of playing around with C++/CX and while they are at it, either provide a native compiler for .NET or improve NGEN's optimizer for C++ performance level. Given that Microsoft had .NET native compilers for Singularity and Windows Phone 8 .NET apps are compiled to native code, it isn't as if they don't have the tooling already availa…

On that matter:

https://twitter.com/fearthecowboy/status/288721251374071808

Notice I also ranted about VS2012, Win8 SDK, Metro Firefox, and XP.

Re: Visual Studio 2013

#146
post #103

Earlier quoted context omitted.

What I want to know is how someone can see that their software project has become unlinkable on a 32-bit OS and somehow think that this is purely a compiler problem.

Keep in mind that this is the group that thinks de-prioritizing 64-bit windows builds is a-okay while at the same time they need 64-bit windows machines running 32-bit linkers to build their 32-bit windows binaries. ...phew, what a mouthfull. Mozilla has never struck me as the most... forward looking.

btw, Google Chrome doesn't have a 64-bit version* for Windows. The Chrome team also disabled PGO on Windows because of the same MSVC linker limitations that Mozilla hit.

* Edit: oops, I corrected a typo where I wrote "32-bit build".

Re: Visual Studio 2013

#147

Earlier quoted context omitted.

Keep in mind that this is the group that thinks de-prioritizing 64-bit windows builds is a-okay while at the same time they need 64-bit windows machines running 32-bit linkers to build their 32-bit windows binaries. ...phew, what a mouthfull. Mozilla has never struck me as the most... forward looking.

btw, Google Chrome doesn't have a 64-bit version* for Windows. The Chrome team also disabled PGO on Windows because of the same MSVC linker limitations that Mozilla hit. * Edit: oops, I corrected a typo where I wrote "32-bit build".

You mean a 32-bit build system?

Re: Visual Studio 2013

#148
post #103

Earlier quoted context omitted.

What I want to know is how someone can see that their software project has become unlinkable on a 32-bit OS and somehow think that this is purely a compiler problem.

I'm actually about to sit down and write a blog post about VS compiler memory issues, and I had a long talk with the Firefox guys a few weeks ago about this issue. It's not all their fault.

And when?

Re: Visual Studio 2013

#149
post #135

Earlier quoted context omitted.

You mean it only produces 32 bit code? This disagrees ( http://msdn.microsoft.com/en-US/library/x4d2c09s(v=vs.80).as... ) going back to at least 2005. The following list describes the various versions of cl.exe (the Visual C++ compiler): ... x64 on x86 (x64 cross-compiler) Allows you to create output files for x64. This version of cl.exe runs as a 32-bit process, native on an x86 machine and under WOW64 on a 64-bit W…

I am talking about the cl.exe executable that output x86-32 code itself, not the code it produces. You can use a 32-bit cl.exe to cross compile 64-bit code, but not the other way round.

Ahh gotcha, I hadn't look at that angle. That is unfortunate.

Re: Visual Studio 2013

#150
post #142

Earlier quoted context omitted.

I am a bit confused. That thread seems to claim that Microsoft isn't producing a 64 bit linker, my install seems to disagree with them (vc\bin\amd64). Then you claim that the linker won't produce 32 bit code, but /machine:x86 seems to disagree with that. I tested this by building as 32 bit, then just repeating the link using the 64 bit linker and /machine:x86, worked fine. So what are their problems exactly? That the…

The problem is link time code generation. With link time optimization[0], which is a prerequisite for profile guided optimization, cl just compiles the source into some intermediate representation. Actual code generation is all done in link.exe at the final link. And /machine:x86 doesn't work with link.exe when using -GL. The x64 link.exe is not capable of generating x86 binaries with LTO. [0] http://msdn.microsoft.c…

Ahh, one variable I hadn't factored in. The mix-n-match option mish-mash of C++ is so fun :)
Post reply on HN