Slashdot Mirror


Microsoft Declines To Make a 64-Bit Visual Studio (uservoice.com)

OhPlz writes: A request was made back in 2011 for Microsoft to provide a 64 bit version of Visual Studio to address out-of-memory issues. After sitting on the request for all that time, Microsoft is now declining it, stating that it would not be good for performance.
After almost five years, the request received 3,127 votes on the UserVoice forum for Visual Studio. Microsoft instead recommended the vsFunnel extension to optimize memory by filtering low-priority projects, adding "we highly value your feedback." They cited a December MSDN post that had argued "smaller is faster," and that no performance benefits would be realized for users whose code and data already fit into a 32-bit address space, while most other issues could be addressed with better data design.

61 of 359 comments (clear)

  1. In other words... by ChodaBoyUSA · · Score: 4, Insightful

    We don't want to do the work.

    1. Re: In other words... by Anonymous Coward · · Score: 5, Insightful

      It's not about doing the work, it's the outsourced Indian team doesn't know how to do the work.

    2. Re: In other words... by slack_justyb · · Score: 2, Insightful

      That's exactly how I read it. All the excuses giving are weak at best. Microsoft doesn't want to invest the time and money. But figures, Microsoft's products that are non-office are mostly turning into trash.

    3. Re: In other words... by PimpBot · · Score: 4, Funny

      Just tell them to do the needful!

    4. Re:In other words... by OhPlz · · Score: 2

      That's really what it feels like. Visual Studio has a lot of powerful built in tools and most enterprise users add in even more. I have a solution with a half dozen projects that can hit the memory wall in a couple days or so. Perhaps it's that the IDE leaks memory badly, in which case 64-bit would let it leak worse. Either way though, it needs to be addressed. Their response was completely lame. They've done great things with C# and C++ lately which means they're putting money into the product, it's bizarre that they're passing on this. I'd take it even if some features were missing and were added back in as updates later on.

    5. Re:In other words... by Z00L00K · · Score: 4, Interesting

      No, it's because they want to drive people to instead use cloud services so that they can get into control of all your data.

      To Microsoft and Oracle the desktop operating system is a necessary evil and they want a transit into thin clients. But they don't want the users to understand that they do it, instead it's a free "upgrade".

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    6. Re: In other words... by Austerity+Empowers · · Score: 5, Insightful

      It's not about doing the work, it's the outsourced Indian team doesn't know how to do the work.

      I am pretty sure this is the actual reason, not just cynicism. MS has fired or encouraged significant attrition amongst it's can-do types, focusing those few who remain and who know how to do things into certain areas. The rest...they've backfilled with H1B or outright offshoring. Any other company would have collapsed by now, but monopolies are a powerful thing.

    7. Re: In other words... by Anonymous Coward · · Score: 5, Interesting

      This right here.

      This is IE 6.0 all over again. Major products they push on everyone. Then let them rot in place.

      VS2015 is very cool. It is also *VERY* flaky. I have had to reinstall it no less than 5 times now because 'something' breaks. Woe unto you if you have to bring up the repair screen. Plan on that bitch taking 3-4 hours to change 1 package.

      They neglected C++ for so long on their train to .net (which is 64 bit hmmm). clang and gcc now regularly destroy them on compatibility and speed.

      They are so hell bent on making platforms they forgot to make product. I remember standing in long ass lines to buy windows 98. Fast forward to today. Very few actually *want* windows 10. For me getting network backups back again was worth the upgrade.

      Also they are making a rather extraordinary claim that x64 is slower than x32 with visual studio. They should do something like oh I dont know 'recompile it as 64 bit' and PROVE IT and show their work?! Perhaps oh I dont know ON A BLOG POST?! You couldnt find a few interns and a couple of seasoned guys to make it work? Out of a company that big? I call shenanigans.

      MS there is a reason everyone is jumping to other platforms. Yours is just not up to date and you change your mind every 3-4 years on what platform you want to push. Then the platforms MS comes up with are pretty much 0% compat with the old ones. So you can not even re-use your code. You have to throw it all out and start over. MS this is why devs no longer want to work with your crap.

    8. Re:In other words... by OhPlz · · Score: 5, Funny

      I submitted the story, so yea.. I read the links. I added my $0.02 to the linked issue years ago. One does follow the other. They're obviously willing to spend some money in some areas of the product, but unwilling in this case. Those oddles of plugins are what makes Visual Studio desirable. As for drowning kittens, there's a lot of that going around. So many 32-bit kittens, never going to grow up to be 64-bit.

    9. Re:In other words... by PolygamousRanchKid+ · · Score: 4, Funny

      Oh, it's not on the top of the list of their priorities. Just take a look at Microsoft's recent behavior, and it becomes crystal clear. Satya Nutella is not forcing Windows 10 down everyone's throat because he wants to annoy his customers: He is doing it because there is a clause in his contract that gives him a big bonus, if Windows 10 reaches a significant market share.

      Even if that means feeding folks Windows 10 like the way a Foie Gras goose is fed.

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    10. Re:In other words... by war4peace · · Score: 4, Funny

      FUCK YOU.
      Now I crave Nutella.

      --
      ...gis sdrawkcab (usually not responding to ACs; don't bother posting as AC)
    11. Re:In other words... by PhrostyMcByte · · Score: 2

      It seems like you (and many other people here) are decidedly in a pro-64bit camp and ready to have a go at the traditioned pastime of MS bashing, but I haven't seen any hard examples of what would make a 64-bit VS better. Can you name some?

      64-bit certainly has advantages, but it also has disadvantages. It really depends on the app to know how they'd balance out. I can't imagine they looked at this problem lightly.

    12. Re:In other words... by Arkh89 · · Score: 2

      Small correction here : foie gras is traditionally made from forced-fed ducks (the version with geese liver does not taste remotely the same but is cheaper).
      Also, foie gras is truly delicious, to the contrary of any MS platform/product.

    13. Re: In other words... by justthinkit · · Score: 2, Insightful

      Microsoft is pushing purchasable apps in Windows 10. It has created a (crappy) new interface, so programs stupid enough to comply with the new interface must be written for it before they can be sold to everyone.

      So Microsoft wants a head start -- "Sorry, our compiler is not available (to those outside Microsoft)". A couple of years from now, with the apps market saturdated, and Microsoft dominating once again in familiar (and new) categories, "Will you look at that, we WILL be shipping VS64. Here you go, one buggy VS64 beta coming up."

      --
      I come here for the love
    14. Re: In other words... by Darinbob · · Score: 2

      Is there an advantage to converting to 64 bits? Or is it more the newer-is-better type of thinking? Seriously, if your project is running out of memory while building then maybe the problem is with the project.

    15. Re:In other words... by thegarbz · · Score: 5, Funny

      I submitted the story, so yea.. I read the links.

      Slashdot has really gone downhill as of late. First readers are starting to RTFA, now submitters are RTFAing before they submit. Pretty soon we'll have well informed discourse and at that point why would anyone come to Slashdot to read the comments anymore.

    16. Re: In other words... by geoskd · · Score: 5, Informative

      They should do something like oh I dont know 'recompile it as 64 bit' and PROVE IT and show their work?!

      I don't have to see the compilation to understand that it is going to be slower: I can read processor spec sheets. All modern processors can do 32 bit pointer arithmetic in a single instruction. This is critical because pointer math is highly linear in nature and *will cause pipeline stalls*. 64 bit arithmetic by contrast is typically several cycles long, and will commonly stall the pipeline. The performance hit I have commonly heard is 10%, and seems to come from some amount of informal testing.

      Take a look at this for an idea of some of the testing that gets done on these kinds of things.

      --
      I wish I had a good sig, but all the good ones are copyrighted
    17. Re: In other words... by AReilly · · Score: 3, Insightful

      a) 64 bit processors can do 64-bit arithmetic in a single cycle.
      b) The 64-bit processors in question have more named registers (fewer stack spills), and a significantly more efficient function calling convention (ABI)
      c) 64-bit ABI doesn't touch the old x87 register set, which is another net performance win. (Not that VS2015 will use this much.)
      Ergo: most of the time they are faster.
      The only way to make a 64-bit program slower than a 32-bit one is to have enough pointer-chasing and associated irregular dynamic data that the change in pointer size materially affects the data cache miss rate. Certainly there is some code like that: VS2015 might even be an example.

      How fast do you need your IDE to be though, and how much is performance really the instruction set's fault? Versions of Visual Studio have been produced that run in everything from .NET to JavaScript, and that's fair because most of the cycles are going to be consumed in GUI and file stacks anyway. Native code performance is hardly going to be the issue.

      The issue is almost certainly that LLP64 is a dumb idea, and the code base will have lots and lots of pieces of historical code that assume that you can manipulate pointers with long arithmetic, and all of those are going to have to be found and fixed by hand, often involving real understanding and design decisions.

      --
      -- Andrew
    18. Re: In other words... by s4m7 · · Score: 2

      I read /. for the centerfold, you insensitive clod!

      --
      This comment is fully compliant with RFC 527.
    19. Re: In other words... by geoskd · · Score: 2

      False. Most modern x86 CPUs can do 16/32/64bit arithmetic all with 1/2, 1/3rd, or 1/4 cycle throughput and 1 cycle latency. 32bit and 64bit arithmetic have exactly the same latency and throughput for all Intel and AMD cpus I have ever seen. 10% performance hit is because of additional padding caused by alignment for 64bit and 2x larger pointers eating up slightly more memory. That's for general purpose programs. That is a memory access and cacheline issue, nothing to do with the internals of the CPU registers or execution units. Many algorithms and programs benefit from 2x more registers and 2x+ faster 64bit operations.

      Wow, knowing there are people like you out there explains why there is so much shit code floating around

      A modern processor is a pipeline design. What this means is that the processor can start unrelated instructions at a rate of one per cycle (or more if there are parallel pipelines available like most processors in the last decade). The key is that the instructions themselves actually take multiple cycles to finish, but the processor doesn't have to wait for the previous instructions to finish before starting the next one. The exception to that model comes when the next instruction depends on data from an instruction that is currently in the pipeline. When this happens, the processor cannot start any new instructions until it finishes processing the critical instruction. This is called a pipeline stall. Good compilers (GCC, Intel's custom compiler, Microsoft's compilers) all re-order instructions to minimize this effect, but with pointer math, there is very little that you can do, almost all code relies heavily on pointer math, and the nature of the dependency limits how useful instruction re-ordering will be. 32 bit pointer math is generally very fast. Add and sub are typically single cycle instructions. Mult is 3 or 4 typically. With 64 bit, The add and sub are usually 2 cycle (although I think Haswell and beyond might be down to 1 cycle). 64 bit mult is around 7 - 9 cycles.

      That 7-9 cycle latency for the multiply is what kills you. Mult is used whenever you index into an array. Array access is everywhere in compiled code, and these pipeline stalls have a significant cost.

      --
      I wish I had a good sig, but all the good ones are copyrighted
    20. Re: In other words... by cecom · · Score: 2

      This is absolutely false and I read you other comments on the subject as well. I am not sure whether it is deliberate, but what you are saying is absolute nonsense made to sound credible by inserting a random technical term like "pipeline" here or there. It is sad that the quality of posters on Slashdot has decreased to the point where laughable misinformation is moderated as "informative".

      64 bit code might get slower because pointers occupy more memory. Frequently that is offset by more registers and smart encoding. End of story. What you are saying is wrong.

  2. Summary : by SuperKendall · · Score: 5, Funny

    32 bits ought to be enough for anyone.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Summary : by hey! · · Score: 4, Funny

      32 bits ought to be enough for anyone.

      ... said the lead programmer after glancing through the megabytes of 20 year-old legacy code, and then realizing every single variable had been named with Hungarian Notation.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    2. Re:Summary : by Desler · · Score: 2

      Nah, rewrite it in 16-bits. Then by the logic of that MSDN post it will be even faster!

    3. Re:Summary : by Impy+the+Impiuos+Imp · · Score: 2

      The mouse hovering over a variable or function, calling up the definition and local comments, to say nothing of "goto definition or declaration", was a stunning, inconceivable future capability George Jetson might have had.

      And compilers warning of potential overflow issues? Forget it, R. Daneel.

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
    4. Re:Summary : by lgw · · Score: 4, Insightful

      It was not stupid at all in the domain for which is was invented. Simonyi (the eponymous Hungarian) was apparently appalled at what it became.

      The original idea was to decorate objects of the same type, but different semantics, so that you wouldn't confuse them: specifically rows and columns int the Excel codebase. You could tell instantly that rwFoo - coBar was a bug, even though they were both ints and the compiler was fine with it. It's a fundamental weakness of C and C++ through today that's there's no way to make efficient, disjoint integral types.

      It can also be useful to distinguish between types that typedef to the same type on one platform, but might typedef to different types on another, but IMO it's not worth the clutter.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  3. Remember how long Excel sticked to max 64k rows? by heldal · · Score: 3, Interesting

    The day they broke that limit, some cheered. Others looked upon it with dread, knowing the hellspawn that would follow.

  4. 32-bit visual studio by fyngyrz · · Score: 2, Insightful

    "and we have a really, really lame explanation for our underlying laziness and/or incompetence"

    "also, fuck you, developers."

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:32-bit visual studio by ShanghaiBill · · Score: 3, Informative

      Microsoft develops software the same way the British Army fought the Somme Offensive. They use massive amounts of cheap programmers, and just pound away until they have something to release. The code quality is so poor that they often just throw it way and do a complete rewrite for the next version. You may think that supporting 64 bit would mean just changing a few header files, tweaking some compiler flags, and typing "make world", but it would not be that simple. The code is likely riddled throughout with obscure 32 bit dependencies, and would require a huge and expensive effort to fix.

    2. Re:32-bit visual studio by lloydchristmas759 · · Score: 4, Funny

      "also, fuck you, developers."

      Shouldn't that be:
      "also, fuck you, developers, developers, developers" ?

      --
      I'd give my right arm to be ambidextrous.
    3. Re:32-bit visual studio by Anonymous Coward · · Score: 3, Insightful

      I did a couple of 64-bit ports in the past and that's pretty much what it took. The first application was about 50000 lines of code that I had worked on for about a year, i.e., I didn't write it, but I fixed it and refactored it. That conversion took about 2 days, and most of that was making small fixes because the header files were reorganized between gcc 3 and gcc 4.

      The second time I did it was for a code base of about 2 million lines of code that I did not "own" in the same way. That took about three weeks, plus about another week from another developer. This was not code that had been developed in a well-disciplined way, but it worked, and the conversion ended up being very successful and took a lot less time than management had expected.

    4. Re:32-bit visual studio by Fragnet · · Score: 5, Insightful

      I've been a developer for 15 years and I can say Visual Studio environment is way better than anything available on Linux. The code dependencies can be resolved in 64 bit but Microsoft is a business and there's an opportunity cost associated with doing that rather than something else more people actually need.

    5. Re: 32-bit visual studio by Malc · · Score: 3, Insightful

      I bet their compiler catches most of the bad shit that only works on 32-bit builds... But they have so many warnings they can't see this.

    6. Re:32-bit visual studio by thegarbz · · Score: 5, Informative

      The code quality is so poor that they often just throw it way and do a complete rewrite for the next version.

      Based on what? For the most part when MS projects have either had source code leaked or made open source the analysis of the code has shown some pretty fine programming. Re-writes seem to be based on strategic decisions and also decisions to not end up with endless layers upon layers of cruft (something that also supports code quality in a positive way).

    7. Re:32-bit visual studio by maugle · · Score: 4, Insightful

      I'm sure Visual Studio works quite well for you. But, to counter one anecdote with another, I found Visual Studio to be lackluster and irritating in a thousand little ways, and its marginally-better code completion isn't enough to make me prefer it over either Eclipse or QT Creator.

      As for a 64-bit Visual Studio, my guess is that the code problems of porting to 64-bit are dwarfed by the bureaucratic maze involved in releasing a new edition of a product.

    8. Re:32-bit visual studio by MachineShedFred · · Score: 5, Insightful

      It would probably suck worse, because the memory leaks and plug-in bloat would be only bound by physical memory, rather than the enforced 32-bit memory space.

      If Microsoft is telling people that they should just write better code in order to stay inside of a 32-bit boundary, they should start practicing what they preach and lead by example.

      --
      Slashdot still doesnâ(TM)t support Unicode after it was added to the HTML standard in 1997.
    9. Re: 32-bit visual studio by lucm · · Score: 2

      Wrong. Based on their own SourceSafe commit history they knew it would never be done in time, they've been working instead on the 128 bit version since 2007.

      --
      lucm, indeed.
    10. Re:32-bit visual studio by Xest · · Score: 2

      Sure each to their own, but I have a hard time believing anyone whose done serious work (i.e. 12 months+ development, using the bulk of the functionality) in Eclipse and Visual Studio could ever objectively argue in favour of Eclipse. Eclipse is slow, cumbersome, has a broken plugin system that often results in you requiring multiple installs for using multiple languages/technologies (try merging STS and Zend if you use Java/Spring and PHP/Zend), and it's also much more buggy. Of course, you don't even have to take my word on that one, just look at the downloads page with all the different convoluted versions that often crossover leaving the user puzzled as to what the fuck they actually need. Visual Studio has versions, but they're mostly related to scale of development (student, independent, businesses, really big business) rather than being language/tool specific.

      Visual Studio really does just work, and it's auto-complete isn't merely marginally better, it actually works. For many languages Eclipse is so slow that you've typed the code before auto-complete pops up, whilst Visual Studio lets you stream out an entire line of code with only a few button presses. When you factor in Visual Studio's debugging, collaboration, and profiling tools the gap just widens further. I do think Eclipse does a better job when it comes to testing though, however I have that impression mostly from Eclipse plugins, whereas I never really bother with much beyond NUnit with Visual Studio.

      People are always going to prefer what they're used to and what they've used the most, but frankly I always even prefererred NetBeans over Eclipse (though it's been sometime since I used NB), it was always much more stable and much more performant. I've been fortunate enough to have a few years solid experience on all these IDEs and I just can't see how objectively Eclipse could be deemed to be a better IDE.

      Despite all this I think the trend for Visual Studio is downwards and has been for quite some years now. This news doesn't exactly fill me with confidence, it comes across as simply that everyone has left the Visual Studio team that has the confidence to make such a change, so instead we're going to pretend we just don't need to make it. It bothers me that rather than doing this sort of thing that people actually want and is useful they're doing things like making the icons fucking shite and less usable, they're doing things like capitalising the menu items and then undoing it next release, they're doing things like ripping out useful functionality to replace it with a more flexible alternative that doesn't actually offer half the previous functionality (i.e. you can no longer auto-generate unit test skeletons for a class definition).

      This isn't just a Visual Studio problem though, it's a problem with Microsoft's development offerings in general - things like ASP.NET MVC have had their classic membership/role provider offerings replaced by default with Identity, but Identity doesn't offer half the config based configurability you had with membership/role providers - i.e. you can't easily switch between AD and SQL authentication via mere config with Identity without doing a lot of work and having a hell of a lot more of your own code to maintain.

      Microsoft seem to have forgotten who their core audience is on this front and how loyal they've been and how much money that loyalty has netted them and instead let their teams focus way too much on pet projects rather than what their customers actually want and need. I'm not against letting developers have the freedom to work on pet projects as in Google's 20% time, but without the customers there'll eventually be no money for that anyway. The customer matters, and modern Microsoft just doesn't seem to get that like old Microsoft did. Even outside of Microsoft's development tools and technologies division this was a lesson hard learnt when Microsoft initially announced the Xbox One to be a fuck the consumer industry slave box until the realisation that this would kill the prod

  5. 64-bit designer mode by Anonymous Coward · · Score: 5, Informative

    The real problem is that the fancy built-in designers, such as the WPF designer, only work with 32-bit components in 32-bit Visual Studio. When someone writes a component that is 64-bit, because it references a DLL that in-turn references, say, a 64-bit Oracle driver, which is part of code that we don't have control over. Now the designer won't load and shows a cryptic error message.

    1. Re: 64-bit designer mode by Anonymous Coward · · Score: 2, Interesting

      But there's no reason they couldn't handle that the way lots of us do. If you need to load 32 bit modules in a 64 bit program you just launch a 32 bit host process and reparent the UI onto the window handle of your main process.

      That would be really useful anyway, because those controls are where there worst memory leaks in studio can be found. Putting them into external processes makes it easier to throw them out and free memory.

  6. visual studio by Anonymous Coward · · Score: 5, Insightful

    I have a quad core 3.5Ghz with 32GB of RAM, VS2015 installed on an SSD. It takes over 15 seconds to get to a working state. After the last update (2), then the Update patch, it now pops up some idiotic error about scc something-or-other every time it starts, and every time I open a project. An update for this POS software takes at least 15 minutes -- with far and away most of the time spent sitting at 99% complete with the status message: "Visual Studio is configuring itself -- this might take a while."

    Yeah no shit it might take a while.

    In summary Visual Studio has become one of the worst programs I use. It is horrifically bad in all aspects: Hard to use, impossible to navigate, useless documentation.

    When I wander over to the C++ forums on reddit I frequently see their runtime library/compiler guy -- I think his name is STL, sheepishly saying what an antiquated POS their C++ compiler is. That doesn't give me warm fuzzy feelings either.

    It's all just more nails in the coffin as far as I'm concerned. I rarely develop for Windows anymore and when I have to it's because I'm forced to. The entire Windows platform is a complete disaster from a developer's point of view. All the years of MSDN trying to sell whatever the current darling language, what's-old-is-new-again (C++ is back, did you notice?), terrible, TERRIBLE API design, and just general CRUFT (did I mention that COM is back too..?) have finally caught up to them.

    1. Re:visual studio by Dutch+Gun · · Score: 5, Insightful

      I've been using VS 2015 since it was released, and using VS professionally for close to 20 years. The quality of VS and the compiler has waxed and waned over the years, but I'm pretty happy with the way the current version is looking, given the general responsiveness, functionality, and stability of the IDE and the C++ compiler itself. It has pretty close to full C++ 14 compliance at this point - and certainly has the features *I* care about. If you're seeing such poor performance and odd error messages, there's something strange going on, as that's not a typical experience. My machine is rather *less* powerful than yours, and I just counted - it takes six second to get VS up and running for me.

      Stephan T Lavavej is the maintainer you're thinking of, and he maintains the standard C++ library, so it's pretty awesome his initials are STL. He's one of the few MS devs that interacts regularly with developers and speaks candidly about MS's development, and has given some pretty interesting talks. True, the MS C++ compiler is quite old, but they've been modernizing it in light of C++'s renewed interest and features, with pretty decent results (if slower than many wish, probably including STL). GCC is also quite old, if you recall, but software can be updated. Clang is the only "new" C++ compiler in widespread use I'm aware of, so it obviously benefits from a more modern implementation, having lessons learned applied during initial development.

      And COM never really went away (very few things in Windows do), but it's claim to fame was interprocess-communication and a language-independent execution model. New libraries have superseded the former, and .NET has largely replaced the latter. I'm not sure what constitutes "is back", but I've not heard anyone talking about it, and certainly nothing *new*. Maybe you're just hearing more about what's always been there since natively compiled code is making something of a minor comeback, with interpreted code like .NET never really having met promised performance expectations, even when JIT-compiled.

      As for 64-bit Visual Studio, it's strange that they're not looking more seriously at this, but my guess is they ran into some severe technical hurdles in early efforts to port it, so are downplaying the importance. I mean, who doesn't develop on 64-bit machines at this point? I'll bet they're working on it internally, but are not ready to commit to anything.

      --
      Irony: Agile development has too much intertia to be abandoned now.
  7. Steam client is doing the same by jwymanm · · Score: 2

    No 64 bit version "because not needed" on Linux meanwhile you have to install 64 multilib packages and compile from source many of those on ArchLinux just to run Steam. Come on guys, you can argue that staying 32 bit is smaller but then it actually becomes larger because you have to install tons more 32bit libraries to support legacy on our all shiny 64 bit systems. In effect it is smaller and leaner to go all 64 bit.

    1. Re: Steam client is doing the same by jwymanm · · Score: 2, Informative

      http://store.steampowered.com/... Less than 7-8% total using 32-bit systems to run Steam. Games need to catch up to 64-bit land. It is a good/valid point that you need the libraries to run the games but that is slightly different than having to install them just to start Steam. It's also arguing towards the negative not the positive.. Mobile is going 64 bit also and I doubt it will remain very 32 bit compatible.

  8. 64-bit Windows by Yurka · · Score: 3, Insightful

    is and has always been a disgusting kludge on top of the 32-bit (that they finally managed to get in decent shape). Faced with the necessity to build something just as ugly for another product, I'm not sure I would have reacted differently than they did.

    Oh, and the bit about valuing the feedback is priceless, of course.

    --
    I can assure you, the best way to get rid of dragons is to have one of your own.
  9. This'll change... by RyanFenton · · Score: 2, Insightful

    Microsoft makes very good developer tools - but the decision on how to make them, unfortunately, has constantly been shaped by a LONG series of internal political decisions on what products they want to be promoting at that very second.

    DirectX, Crystal Reports, 'Modern' (metro to everyone else), the dot Net framework, phones, MS-specific java,, etc., etc... Some of them ended up good ideas, some of them were just what they wanted to push to capture some market. It's a big part of why it's actually something of a bad idea to just read Microsoft documentation on their own products - they'll tend to color every piece of introductory material in light of what they want to promote at that moment, what they want YOU to do for THEM.

    They also tend to stall on some technologies that they feel will shift resources in a way that won't help them at that very moment. Shifting to 64-bit developer tools might be a bit expensive to test binary interoperability with everything - and Microsoft also hasn't found a very good consistent method of hosting 32-bit DLLs into 64-bit executables that isn't just some piped communication between different process spaces. I can understand their reluctance to commit resources into something they're not sure they can make work seamlessly.

    But really, I've seen a lot of my Visual Studio exe memory usage stats floating up to the large-address-aware 32-bit limit. Even if it doesn't meet 100% compatibility/interoperability, I think it would still be a good idea to start an experimental option of a set of 64-bit build environments. Perhaps with embedded 32-bit memory spaces that you can host stuff in without loading errors, if at all possible - but 64-bit-only restrictions if that's not possible would also be acceptable.

    Ryan Fenton

    1. Re:This'll change... by superwiz · · Score: 2

      They don't want to enable development of binaries which are large. They may want to force developers to break projects into smaller modules. MSVC will produce 64-bit executable and DLL's. So it's not like you can't use more space than that during the execution. But they want to force the design to be more modularized. So people would not do things like embedd images in their executables as text-encoded binaries, but would rather have resource files and load them at run time. The runtime of any one executable can easily exceed the 32bit binary boundary after all DLL's and resources are loaded, they just don't want people to do things like write 100MB source files and then force the compiler/editor to parse through that to generate a monolithic 10GB binary. The MSVS executable is what's 32-bits... not the runtimes that it generates.

      --
      Any guest worker system is indistinguishable from indentured servitude.
  10. Re:Didn't even realize until the other day by Opportunist · · Score: 5, Funny

    Damn right, any project this big should be done with professional tools!

    Glad MS finally admits it.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  11. The problem is debug, not build by Sarusa · · Score: 5, Informative

    The big problem is debugging.

    We've got a 64-bit app which VS will happily build and the app runs fine. But if we want to debug it live VS chokes, falls over and dies, out of memory once the app uses more than 3 GB.

    It's legit using > 4GB because it's heavy image processing of large color images at high dpi and the machines are specced for it. Obviously, we could page stuff in and out of memory ourselves, but that rather defeats the purpose of 64-bit OS and would slow everything down (speed is paramount here, burning memory to get it was a primary design decision) - and the program runs fine when not debugging in VS.

    1. Re:The problem is debug, not build by lgw · · Score: 4, Informative

      The debugger is msvsmon.exe. It has a 64-bit version, which runs automatically when you configure the project to be 64-bit. Visual studio just wraps a handy GUI around that. Something's wrong in your project settings if you can't debug a running app with lots of memory.

      The only problem I've ever had with large source trees is that Intellisense shits itself beyond some point - but I somehow doubt it's (only) a memory issue.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:The problem is debug, not build by Sarusa · · Score: 2

      There is definitely Something Wrong. And don't blame the project settings - that's the lazy way to go, since VS's project settings are so ridiculously convoluted and arcane compared to a makefile. You could blame any VS bug on 'your project settings must be wrong'. But we have recreated the entire solution from scratch trying to stop this from happening. Did we do wrong by not sacrificing a f@#$ing goat?

      It runs out of memory when debugging the 64-bit app when any single object is larger than 3GB. If you've got a Brillant Paula Bean solution for this, DO TELL.

  12. Re:x64 considered harmful? by Man+On+Pink+Corner · · Score: 4, Interesting

    With a very few specific possible exceptions, x64 code is indisputably faster than x86. The reduction in register pressure buys you a speed increase of about 10% in my experience.

    The code is somewhat larger, of course, but instruction caches have also grown in size since this was observed to be an issue.

    Meanwhile, recompiling correctly-written C++ code to target x64 amounts to changing a couple of flags in the build script, so laziness is no real excuse.

  13. Re:64bit version?? by hey! · · Score: 2

    Sure that would mean using more memory?

    Of course. But it also means being able to employ more memory.

    The math works like this, roughly: going to 64 bits can increase the memory needed by a factor of up to 2^1. At the same time it expands your memory space by 2^32. So that project that the IDE was thrashing on because the projected needed 5 GB of RAM may need 10 GB o RAM after the IDE is migrated to 64 bit. But that's fine because a basic developer's machine has 16GB of RAM these days. The problem was that you couldn't make use of it.

    I'm old enough to have gone through this three times: once going from eight to sixteen bit; next from sixteen to thirty two and then finally thirty-two to sixty-four. I think it's pretty safe to say that I won't ever have to go through another power-of-two word size shift though:) .

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  14. Why do you even need VS? by melted · · Score: 4, Informative

    I worked at MS in early 00s. We didn't use VS to write code. We used a stripped down version of VS or even WinDbg to debug. Nowadays I use Vim and YouCompleteMe (on Linux) and it just works. Zero dollars, easy to set up.

    1. Re:Why do you even need VS? by BlackPignouf · · Score: 5, Funny

      Nowadays I use Vim

      I've also been using Vim since the early 00s.
      I'm stuck, and still didn't figure out how to quit the editor.

  15. I have some sympathy... by grahamtriggs · · Score: 2

    The immediate reaction is to say it is silly that they are not offering a 64-bit version.

    But many developers are likely using a number of extensions - which will currently be 32-bit because that's what Visual Studio is, and 64-bit would require all the extensions provide new versions as well.

    It probably wouldn't take a huge effort to offer Visual Studio as both 32-bit and 64-bit versions (just like Office). But a more useful - although much longer - use of engineering effort would be to take the full Visual Studio experience on to the CLR.

  16. Re:The good news is... by Desler · · Score: 2

    GCC and LLVM are not IDEs. So your comment actually has fuck-all to do with the story.

  17. Re:64bit version?? by Yaztromo · · Score: 2

    Sure that would mean using more memory?

    Yes, but how much depends on the application. I haven't found a good scholarly reference on average memory use increase for 64 bit applications, however some rough worst-case scenarios I've found see to indicate a 20% memory increase is considered to be at the high end. Most applications will see much less of an increase.

    On the flip side, 64 applications get a lot more registers available to them in x86_64 mode -- eight additional General Purpose Registers. Thus, a compiler can better optimize applications to squeeze more performance out of the processor, by loading more data into registers (or potentially by not having to swap data in and out of registers as frequently as in 32 bit mode).

    Most consider this a good trade off. Extra RAM is easy to come by when compared to extra processing speed.

    Yaz

  18. Re:x64 considered harmful? by Man+On+Pink+Corner · · Score: 2

    Honestly, I live at the CLI and only use the IDE when I need to debug something, so I couldn't say if it would actually be worthwhile to recompile it for x64 or not. It's not true that there is no performance benefit in doing so, but I agree that it's far from clear that anyone would notice or care.

    The compiler itself (cl.exe) is already built as an x64 executable according to dumpbin, even though it still resides in the legacy c:\program files (x86) folder. That's where the performance really matters.

  19. Re:Oh, .NET isn't going away by cyber-vandal · · Score: 2

    If .NET has been abandoned, what's the replacement? Why have they completely rewritten software they're going to abandon. What's this? You really don't know what you're talking about. Ever since Silverlight was abandoned, people like you keep posting this shit about .NET being dead and yet Microsoft keep releasing new versions and making you look like fools.

  20. Re:Jetbrains by Tony+Isaac · · Score: 2

    Competition is a good thing. Once they come out with an IDE for .NET (Project Rider), Microsoft will finally have some real competition in the IDE space. THAT might well be what Microsoft need to help it decide to put in the effort to make a 64-bit version.