Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Getting the most out of the C++ compiler
1 day agoI have a question about AVX (YMM registers) support: does the new autovectorizer also support wider 256-bit YMM registers (Sandy Bridge+)?
VC 10 also had support for SSE2 and AVX (via a command line) instructions. From the talk it seemed as if there wasn't any support for SIMD instructions.
Also the floating point addition was a bit misleading, since *AX and *BX registers are integer registers, while ADDPS means "Add Packed Single-Precision FP Values". You should have used an x87 FPU or SSE2 registers (as 32-bit float) as your nonvectorized example.
Interactive Panel: The Importance of Being Native
Feb 07, 2012 at 3:14 AMLook, moving* a block of memory can be done with four x86/x64 instructions.
mov ecx, _count (cx = count)
mov esi, _source_index (="si")
mov edi, _destination_index (="di")
repnz movsb (or movsd, or movsq in x64; repeat while CX Not Zero, MOVe String Byte / DWord / QWord)
Basically, all the work is done by one instruction, the instructions before just set up the operation. This can be cache efficiently implemented, since the processor knows that the whole block needs to be accessed.
Memory allocation is OS / runtime bookkeeping, you don't want to call it very often.
* "mov" actually means "copy".
Day 1 Keynote - Bjarne Stroustrup: C++11 Style
Feb 05, 2012 at 10:08 AMCool. Now we can see the invisible graph.
Day 1 Keynote - Bjarne Stroustrup: C++11 Style
Feb 03, 2012 at 3:21 AMIt was a great lecture!
But I haven't had the time to watch other speakers. I'll download the 1080p version of talks, since 1080p makes reading the code much a nicer experience.
EDIT: Charles, would it be possible to also publish the PowerPoint or PDF slides?
.NET 4.5: Size-on-disk improvements
Nov 05, 2011 at 3:15 AMI have one concern:
Did you take these concerns into account when designing the disk size "improvements"?
Drawbridge: A new form of virtualization for application sandboxing
Oct 26, 2011 at 11:23 AMAny benchmarks yet?
Drawbridge: A new form of virtualization for application sandboxing
Oct 19, 2011 at 12:47 AMI watched the video yesterday. But it got me thinking - how exactly is rearranging the OS better than using a Hyper-V VM with memory deduplication on EPT/Nested Pages?
This keeps memory usage low. How many instances of IIS would you be able to run in VMs using memory deduplication, as opposed to the number in Drawbridge? How well does Drawbridge perform CPU-wise, as opposed to running on bare metal hypervisor?
There were also some scenarios mentioned, such as:
- using it to keep compatibility with XP
- sandboxing
Well, I don't think it is easy to refactor an outdated OS and to keep compatibility for every single system call. Would you use XP RTM, XP SP1, XP SP2 or XP SP3 as the baseline?
With an upgrade to a new OS version, your existing applications get a new look, since they blend with the OS's redesigned UI elements. This is very much desirable, as opposed to keeping it at the version "they were designed for". Then there's WinRT. I guess "desktop mode" APIs will stay Win7 compatible for a very long time, since most innovation will be in the WinRT world.
As to sandboxing, using a processor security feature (ie VM mode) is much more secure than it is to use existing ring protection. Unless you decide to use PL1 and PL2
(how's with ARM compatibility then)?
Drawbridge: A new form of virtualization for application sandboxing
Oct 18, 2011 at 1:36 PMIf you want to resume hibernation, you need hiberfil.sys as well as your intact filesystem. You can't just send hiberfil.sys to another machine and resume your OS there.
Using the Windows Runtime from C++
Sep 16, 2011 at 10:38 PM> My mistake, "ref new" differentiates them.
Yes, there's no GC, that's why no gcnew
Using the Windows Runtime from C++
Sep 16, 2011 at 2:07 PMI haven't checked the details, but to me it seems like C++/CLI compiled to native code, not MSIL.
If Microsoft needed to plug in .NET-like interfaces of WinRT to C++, it's easier to do it in a .NET supported language of C++/CLI. It's certainly less laborious.