Jump to content

NewsBot

Members
  • Posts

    10920
  • Joined

  • Last visited

Everything posted by NewsBot

  1. <img alt="" height="1" width="1"> Windows deployment toolkit now available SearchWinIT.com - 25 minutes ago ... which the vendor recently rebranded Microsoft Deployment, with simplified imaging and other deployment features according to the Windows Vista blog. More... View All Our Microsoft Related Feeds
  2. http://www.codeplex.com/aspnet More... View All Our Microsoft Related Feeds
  3. <img alt="" height="1" width="1"> 10 Ways Microsoft Can Make Windows 7 Lucky Microsoft Watch - 7 hours ago I gave the advice before Vista shipped, and it was mostly right. I didn't second-guess afterwards. Anyone that followed my analyst blog between 2004-2006 ... More... View All Our Microsoft Related Feeds
  4. HP - Core 2 Duo Quad Core Desktop (1066 fsb) 300 Gb SATA HDD 3 Gb RAM Geforce 8500 GT (512 Mb) TV Tuner w/ remote Vista Home premium $699 USD http://www.buy.com/prod/hp-pavilion-elite-m9077c-desktop-core-2-quad-q6600-tv-tuner-card-3-gb/q/loc/101/207537578.html HP - Core 2 Duo Quad Core Desktop (1066 fsb) 620*Gb SATA HDD 3 Gb RAM Geforce 8400 TV Tuner w/ remote FM Tuner Vista Home premium $699 USD http://www.buy.com/prod/hp-pavilion-elite-m9077c-desktop-core-2-quad-q6600-tv-tuner-card-3-gb/q/loc/101/207537578.html Besides the second having a FM Tuner, lower end video card*and more HDD, not sure what the difference is between them. 500 Gb SATA HDD $99 http://www.tigerdirect.com/applications/searchtools/item-Details.asp?EdpNo=2795126&sku=TSD-500AAKS&CMP=ILC-FPM16 [H] EDIT: The boards are Intel G33 Express boards, so I think they will support the new 45 nm chips and a 1366 fsb? More... View All Our Microsoft Related Feeds
  5. The end of the FCC 700 MHz auction This afternoon the Federal Communications Commission announced the results of its 700 MHz spectrum auction. While the Commission's anti-collusion rules prevent us from saying much at this point, one thing is clear: although Google didn't pick up any spectrum licenses, the auction produced a major victory for American consumers. More... View All Our Microsoft Related Feeds
  6. http://ms-os.com/Themes/AlmostGlass/images/icon-quote.gif neowin wrote: A new ranking of global brands shows Microsoft's reputation sinking in recent years. Among the possible factors: Apple's "I'm a Mac" ads. Microsoft lands at No. 59 in the rankings for 2007, down from No. 11 in 2004, according to the survey from CoreBrand released Wednesday. "The effect of Apple's 'Hi, I'm a Mac' advertising campaign may have taken its toll on Microsoft," CoreBrand CEO James Gregory said in a statement. In fairness to the folks in Redmond, they have fared far better in other recent brand studies. They were No. 1 on a list of Britain's top "superbrands" last year, and No.2 in an August BusinessWeek ranking of top global brands (trailing only Coca-Cola). In my eyes this is an interesting post. * Microsoft does a lot for the developers, like creating Channel 9 and doing all these interviews is wonderful. Microsoft does also a lot for IT pros, like the TechNet Edge effort etc. Microsoft does a lot for students (but could be more) like Channel 8, Imagine Cup etc. But Microsoft somehow misses the customer that is not one of these before. If I go to the local computer store, Apple is having their own space there where they put their computers and have running their ads (also the "I'm a Mac" one).*The space is like a small Apple store inside the*computer store.*Microsoft isn't having anything like this. Vista is found somewhere between the other software and the same is with the Xbox games etc. It's somewhere in between. I have seen this trend already years ago - and also posted about them here on Channel 9. Apple, then, did already events at the local malls and they did also stuff at university where you saw that they spend money on this (you saw that the company wanted to do this): they hired a pro singer that stood at our university for 2 days and played with Garageband. Also a few representatives from Apple were there and showed the software and hardware to the students. The same happened also in the malls. Also, Apple knows how to focus on new features. Each new version of OSX has some key features and these are told to the customer over and over and over and over and over. Until they think it is the greatest thing on world. Also they say: we have like 104 new features in OSX. Vista has also tons of new features and nobody knows, because nobody ever tells the average customer... I'm wondering when Microsoft is going to do similar things. It's a little bit like the marketing department is sleeping... More... View All Our Microsoft Related Feeds
  7. I hope that my English is understandable @Kevin Unagst and Team responsable Games for Windows Considering the potential that this platform can offer and watching what offers I can say that we are still perhaps a bit to minimum levels possible, Turning between the various forums where are writing long, I tried to understand what gamers want and what I try too. This is the result.. 1) Games for Windows must have a panel as Windows Media Center, and should not be a simple folder called GAMES from the Start Menu. 2)Microsoft have* launched XNA for X360 this is a very good thing but as for Windows have not yet nothing could exploit hundreds and hundreds of titles that many small team of highly talented youngsters have already created on Windows for years, but these games are very little known outside the community because it did not support advertising, do not have a language understandable for download and have never had a real distribution.. Some examples that I have gathered in a forum TRY PLS AirRade-Air Download FREE* BloodOver* FREE Blue wish resorruction* FREE Titles are hundreds which can be reported and are free, intuitive to play and do not require translation, these titles could be distributed with a small agreement with those who produced them perhaps even creating a paypal donate or Small Price. 3)Current consoles sell many titles OLD perhaps never appeared outside Japan(Wii ware and Virtual console) , and I assure you that these titles are selling far, and we can take advantage of all titles and could better exploit MAME Creating an agreement with all software House for the distribution of its titles ARCADE (always agrees to sell rather than letting download ROM torrent and more) THE whole should not have any translation, perhaps only a small menu description Games for Windows before starting the game. 4) Games once downloaded via Live ID must remain available in case of data loss. 5)We should*API *release of the new panel style Games for Windows to include other emulators (such as Sega Genesis-PC Engine etc.). 6) We have a large library of titles between Oberon Games and other houses that might join the project as securities LOW COST and these should be added the titles MSN that location hours are not well labeled and easy to find 7)All titles x box live arcade must also be released for Windows 8) Taito known manufacturer of coin op (and not only) has already created many years a number of PCB with Windows XP and a 100% compatible hardware WIndows Taito Type X2 OS: Microsoft Windows XP Embedded SP2 CPU: Intel Core 2 Duo E6400Pentium 4 651Celeron D 352 (up to latest Core 2 CPUs supported by the chipset) Chipset: Intel Q965 + ICH8 Monitor: 720p/1080p/1440p HD LCD Monitor RAM: DDR2 667/800MHz (512MB/1GB, up to 4GB) GPU: PCI Express x16-based graphics. Support cards include ATI RADEON X1600Pro/X1300LE or nVIDIA GeForce 7900GS7600GS7300GS, up to latest graphic cards (Radeon HD 3800 or Geforce 9800 series) Sound: Onboard Realtek HD 7.1 channel Sound (supports add-in sound cards) LAN: 10/100/1000 BASE-T I/O ports: 1x JVS, 4x USB 2.0 (up to 8), 1x serial (max 2), 1x parallel port, 2x PS/2, 2x SATA Audio inputs: AKG C535EB Stage Microphone, line-in (Surround 7.1) Audio outputs: 7.1, SPDI/FX Expansion Slots: 1x PCI Express x16 (used by video card), 1x PCI Express x4, 2x PCI Storage: 2x 80 GB 10k RPM SATA Hard Drives Media: 80 GB 10000 rpm Hard Drive The Game Aquarian Age Alternative (2006) Battle Fantasia (2006) BlazBlue (2008) Chase H.Q. 2 (2007) D1GP Arcade (2007) Eternal Wheel (2007) KOF Maximum Impact Regulation A (2007) KOF Maximum Impact Regulation A 2 (2008) Samurai Shodown: Edge of Destiny (2008) Street Fighter IV (2008) The King of Fighters XII (2008) Trouble Witches AC (2008) OLD PCB System 16 type X * OS : Windows XP Embedded (customized) CPU : Celeron 2.5Ghz (upgradable to Pentium 4 2.8GHz) FSB : 400MHz (Upgradable to 800MHz) Chipset : Intel 865G Memory : DDR266 DIMM 256MB (upgradable to DDR400 2GB) Graphics Board : AGP Radeon 9200SE (128 MB) through to X800XT (256 MB) (complete ATI Radeon Range) Audio : AC97 onboard 6 channel audio CODEC Lan : On-board 10/100Base-TX USB : 4ch (ver 1.1 & 2.0 compatible) Parallel port : 1 port PS/2 port : keyboard, mouse PCI : 2 slots IDE : 2ch U-DMA(100/66/33) Serial ATA : 2ch Audio inputs : Microphone (stereo pin-jack), line-in (stereo pin-jack) Audio outputs : line-out (stereo pin-jack), SPDI/F Power : ATX AC 100v Games * Chaos Breaker (2004) * D1GP Arcade (2007) * Dinomax (2006) * Datacarddass Dragon Ball Z (2005) * Giga Wing Generations (2004) * Harakari Professional Baseball (2005) * Homura (2005) * Raiden III (2005) * Raiden IV (2006) * Shikigami no shiro III (2006) * Spica Adventure (2005) * Taisen Hot Gimmick 5 (2005) * Taisen Hot Gimmick Party (2005) * Tetris The Grand Master 3: Terror Instinct (2005) * The King of Fighters '98 Ultimate Match (2008) * Usagi -Wild Fight- Online (2005) * Zoids Card Colosseum (2005) * Zoids Infinity EX (2005) * Zoids Infinity EX Plus (2006) This means that all these titles can be taken immediately on Windows without too many problems (some title already exists). It could create a real you tube or an I-Tunes of videogames, fully revive the past, present and future More... View All Our Microsoft Related Feeds
  8. <img alt="" height="1" width="1"> 10 Ways Microsoft Can Make Windows 7 Lucky Microsoft Watch - 56 minutes ago I gave the advice before Vista shipped, and it was mostly right. I didn't second-guess afterwards. Anyone that followed my analyst blog between 2004-2006 ... More... View All Our Microsoft Related Feeds
  9. Asus is going great guns at the moment. The eePC is getting the kind of media attention usually reserved for our friends in Cupertino and they're churning out some pretty impressive high-end machines too. Nothing too special on paper, but looks nice and has loads of options. Apparently there is a 17-inch version waiting in the wings, with a 1TB disk. More... View All Our Microsoft Related Feeds
  10. Although users should be wary of doing important stuff with it, the Open Office porting team has released a milestone beta alpha of the Mac-native office application. The team also states that the upcoming release of Open Office 2.4, will be the last one based around X11. After that, native all the way. Now this coincides happily enough, with another piece of news. The Open University is finally dropping its Windows/Office policy and is working on supporting the Mac (and Linux). Details here. More... View All Our Microsoft Related Feeds
  11. <img alt="" height="1" width="1"> Vista SP1 downloaders bite back Register, UK - 41 minutes ago By Kelly Fiveash -> More by this author Windows Vista customers have been complaining about problems with installing Microsoft’s first service pack for the ... More... View All Our Microsoft Related Feeds
  12. Hello, I am running Vista ultimate x32 sp1. I have found that the event viewer in vista is woefully inadequate. If you open eventvwr.msc and then click on the very top left (event viewer local) link, it shows the "summary" page which has the Critical, Error, Warning, Info etc broken down into categories and showing how many of each type in the last 1 hour, 24 hrs, 7days, and total.* This is a great feature ---- the only problem:* you can't resize this area!* It is a nightmare to navigate.* Is anyone else having this problem? also, I don't know WHY on earth they divided the event viewer up in to 200 different event logs.* I liked the 5-or-so they had in XP.* With filtering, did we really need to separate all of these?* Now in order to review the logs for problems, you have to click through a huge number of folders, subfolders. also, there is NO WAY TO CLEAR ALL THE LOGS QUICKLY- without going to EACH log and clearing it.* Clearing logs in Vista takes about 1/2 hour if you're lucky. These shortcomings really need to be addressed imo. anyone else agree?* or am I just an idiot who doesn't know how to use his computer?? (possible) :@ More... View All Our Microsoft Related Feeds
  13. At South by Southwest*in Austin, Tamara Phillips of Desktop Music Channel showed Michael Scherotter*a Software+Services solution that includes a compelling desktop applications with service-based push technology. The Desktop Music Channel is a new way for artists and bands to create an interactive*desktop experience for their fans. Listen to the podcast(MP3) Listen to the podcast(WMA) Download the Video Watch the Video More... View All Our Microsoft Related Feeds
  14. I hand compiled the InvSqrt() function that I have been studying. Here is the function: float InvSqrt ( float x ) { *** union bitConverter { *** *** int intPart; *** *** float floatPart; *** } bitC; *** /* Do Taylor Series Expansion */ *** bitC.floatPart = x; *** bitC.intPart = 0x5f375a86 - (bitC.intPart >> 1); *** /* Do First Newton Approximation */ *** bitC.floatPart = ( 3.0f - x * bitC.floatPart * bitC.floatPart ) * 0.5 * bitC.floatPart; *** /* Do Second Newton Approximation and Return */ *** return ( 3.0f - x * bitC.floatPart * bitC.floatPart ) * 0.5 * bitC.floatPart ; } Hand compiling it, I get this: float InvSqrt ( float x ) { *** float bitC, a = 3.0, b = 0.5; *** __asm { *** *** fld*** *** dword ptr *** *** fld*** *** dword ptr [x] *** *** fld*** *** dword ptr [a] *** *** mov*** *** eax,dword ptr [x] *** *** sar*** *** eax,1 *** *** mov*** *** ecx,5F375A86h *** *** sub*** *** ecx,eax *** *** mov*** *** dword ptr [bitC],ecx *** *** fld*** *** dword ptr [bitC] *** *** fld*** *** st *** *** fmul*** st,st(3) *** *** fmul*** st,st(1) *** *** fsubr*** st,st(2) *** *** fmul*** st,st(4) *** *** fmulp*** st(1),st *** *** fld*** *** st *** *** fmul*** st,st(3) *** *** fmul*** st,st(1) *** *** fsubp*** st(2),st *** *** fmulp*** st(1),st *** *** fmulp*** st(2),st *** *** fstp*** dword ptr [x] *** } } When I view the disassembly in Visual Studio, that becomes: //This Visual Studio wrote 00401035* fld******** dword ptr [__real@40400000 (4021A4h)] 0040103B* fstp******* dword ptr [esp+34h] 0040103F* fld******** dword ptr [__real@3f000000 (4021A0h)] 00401045* fstp******* dword ptr [esp+38h] 00401049* lea******** esp,[esp] 00401050* fld******** dword ptr [esp+28h] 00401054* fstp******* dword ptr [esp+2Ch] //This I wrote 00401058* fld******** dword ptr [esp+38h] 0040105C* fld******** dword ptr [esp+2Ch] 00401060* fld******** dword ptr [esp+34h] 00401064* mov******** eax,dword ptr [esp+2Ch] 00401068* sar******** eax,1 0040106A* mov******** ecx,5F375A86h 0040106F* sub******** ecx,eax 00401071* mov******** dword ptr [esp+30h],ecx 00401075* fld******** dword ptr [esp+30h] 00401079* fld******** st(0) 0040107B* fmul******* st,st(3) 0040107D* fmul******* st,st(1) 0040107F* fsubr****** st,st(2) 00401081* fmul******* st,st(4) 00401083* fmulp****** st(1),st 00401085* fld******** st(0) 00401087* fmul******* st,st(3) 00401089* fmul******* st,st(1) 0040108B* fsubp****** st(2),st 0040108D* fmulp****** st(1),st 0040108F* fmulp****** st(2),st Here is what Visual Studio generates when it compiles the code: 00401035* fld******** dword ptr [__real@40400000 (4021A8h)] 0040103B* mov******** edx,5F375A86h 00401040* fld******** qword ptr [__real@3fe0000000000000 (4021A0h)] 00401046* sub******** esp,30h 00401049* fld******** dword ptr [esp+6Ch] 0040104D* fst******** dword ptr [esp+68h] 00401051* mov******** ecx,dword ptr [esp+68h] 00401055* sar******** ecx,1 00401057* sub******** edx,ecx 00401059* mov******** dword ptr [esp+68h],edx 0040105D* fld******** dword ptr [esp+68h] 00401061* fld******** st(0) 00401063* fmul******* st,st(1) 00401065* fmul******* st,st(2) 00401067* fsubr****** st,st(4) 00401069* fmulp****** st(1),st 0040106B* fmul******* st,st(2) 0040106D* fld******** st(0) 0040106F* fmul******* st,st(1) 00401071* fmul******* st,st(2) 00401073* fsubp****** st(4),st 00401075* fmulp****** st(3),st 00401077* fxch******* st(2) 00401079* fmulp****** st(1),st The assembly when Visual Studio generates it is obviously more efficient and I probably should leave well enough alone, but for educational purposes, I want to learn how to hand compile code as efficiently as Visual Studio does it. I have no clue how I thought of the correct words to get any useful information from google, but from what I can gather through googling this, I believe that the inefficiency is coming from the fact that I have no clue how to take advantage of function calling conventions. I only know that you can return a float by leaving it on the stack when your function terminates and I learned that by studying the assembly creates. There are plenty of websites with information on the x86 function call conventions, but I cannot seem to find any with information on the x87 function call conventions, which is what I expect my function because it receives and returns floating point numbers. Does anyone know what the x87 Function-call Conventions are? Of course, I could be completely offtrack and my problem is that I do not know how to get constants into assembly code rather than being unable to take care of the calling conventions or perhaps a combination of the two. I am an undergraduate student and I have not taken any courses on assembly, so I am not really qualified to diagnose what I am doing wrong. More... View All Our Microsoft Related Feeds
  15. Because my thread in the Techoff forum has not been very helpful in getting resources on how to learn Fortran programming, I decided to make a general thread here. Do you know Fortran and if you do, how did you learn it? Did you use any books to learn it? If yes, what books did you use and what are their ISBN numbers? More... View All Our Microsoft Related Feeds
  16. <img alt="" height="1" width="1"> MacBook Air reviewed... as a Windows machine engadget, CA - 46 minutes ago Although actually getting Vista on the Air was a bit troublesome due to the lack of a built-in optical drive and the Vista installer's refusal to wipe out ... More... View All Our Microsoft Related Feeds
  17. <img alt="" height="1" width="1"> MacBook Air reviewed... as a Windows machine engadget, CA - 5 minutes ago Although actually getting Vista on the Air was a bit troublesome due to the lack of a built-in optical drive and the Vista installer's refusal to wipe out ... More... View All Our Microsoft Related Feeds
  18. <img alt="" height="1" width="1"> Windows Vista SP1 causing PC glitches, but no cause for alarm PC Authority, Australia - 34 minutes ago By Guy Dixon 21 March 2008 11:17AM Some early upgraders to http://www.vnunet.com have been venting their spleens on Microsoft's Vista team blog complaining of ... More... View All Our Microsoft Related Feeds
  19. Is there a way in vista to search by image size - not in KB but in widths? as an example - every c9 avatar ive ever made - would be 120 x 160 can i search for that somehow?* i tried but it is by kb only for size (under advanced search) ? speculate_swamp? :O edit: another example ... all thumbnails at 100px width or 200 (i commonly use those)* or facebook images are 604px wide.* i could find all ive post on fb - if i could search 604 width. Many c9parks were 600, 650 widths.. etc More... View All Our Microsoft Related Feeds
  20. I have started examining an implementation of Quake's InvSqrt() function that I have again. I started where I left off the last time and I found some strange things that Visual Studio 2008 Professional does. I have* the following InvSqrt() function: float InvSqrt ( float x ) { *** union bitConverter { *** *** int intPart; *** *** float floatPart; *** } bitC; *** /* Do Taylor Series Expansion */ *** bitC.floatPart = x; *** bitC.intPart = 0x5f375a86 - (bitC.intPart >> 1); *** /* Do First Newton Approximation */ *** bitC.floatPart = ( 3.0f - x * bitC.floatPart * bitC.floatPart ) * 0.5 * bitC.floatPart; *** /* Do Second Newton Approximation and Return */ *** return ( 3.0f - x * bitC.floatPart * bitC.floatPart ) * 0.5 * bitC.floatPart ; } This is part of a small program that compares its output to the output from the native functions. It calls InvSqrt() in the context of this code: y = InvSqrt(x); z = 1.0l / sqrt(x); Here is what Visual Studio 2008 Professional is generating under release mode with the default flags. I have annotated it with comments clarifying what it does: 00401035* fld******** qword ptr [__real@4008000000000000 (4021A8h)] // This is 3.0f *** { *** *** *** *** y = InvSqrt(x); 0040103B* mov******** edx,5F375A86h 00401040* fld******** qword ptr [__real@3fe0000000000000 (4021A0h)] // This is 0.5f 00401046* fld******** dword ptr [esp+34h] //This is x 0040104A* fst******** dword ptr [esp+30h] 0040104E* mov******** ecx,dword ptr [esp+30h] 00401052* sar******** ecx,1 00401054* sub******** edx,ecx 00401056* mov******** dword ptr [esp+30h],edx 0040105A* fld******** dword ptr [esp+30h]* // This is bitC.floatpart 0040105E* fld******** st(0)* // This is bitC.floatpart 00401060* fmul******* st,st(2) // bitC.floatpart * x 00401062* fmul******* st,st(1) // (bitC.floatpart * x) * bitC.floatpart 00401064* fsubr****** st,st(4) // 3.0f - (bitC.floatpart * x) * bitC.floatpart 00401066* fmul******* st,st(3) // (3.0f - (bitC.floatpart * x) * bitC.floatpart) * 0.5 00401068* fmulp****** st(1),st // (3.0f - (bitC.floatpart * x) * bitC.floatpart) * 0.5 * bitC.floatpart 0040106A* fstp******* dword ptr [esp+30h] // Send it back to bitC.floatpart 0040106E* fld******** dword ptr [esp+30h] // To bring it back from bitC.floatpart??? 00401072* fld******** st(0) // This is bitC.floatpart 00401074* fmul******* st,st(2) // bitC.floatpart * x 00401076* fmul******* st,st(1) // (bitC.floatpart * x) * bitC.floatpart 00401078* fsubp****** st(4),st // 3.0f - (bitC.floatpart * x) * bitC.floatpart 0040107A* fxch******* st(3) // Lets shuffle the registers 0040107C* fmulp****** st(2),st // (3.0f - (bitC.floatpart * x) * bitC.floatpart) * 0.5 0040107E* fxch******* st(1) // Lets shuffle the registers 00401080* fmulp****** st(2),st // (3.0f - (bitC.floatpart * x) * bitC.floatpart) * 0.5 * bitC.floatpart 00401082* fxch******* st(1) // Lets shuffle the registers 00401084* fstp******* dword ptr [esp+38h] // Send back the answer Before I continue, I would like to point out what I see wrong here. The first is the following: 0040106A* fstp******* dword ptr [esp+30h] // Send it back to bitC.floatpart 0040106E* fld******** dword ptr [esp+30h] // To bring it back from bitC.floatpart??? It makes no sense to pop a value back to system memory only to push it back onto the stack. I examined my source code and apparently this is Visual Studio's intrepretation of "bitC.floatPart =" even though it is absolutely not necessary. The best case scenerio is that we have a 6 cycle stall while the value goes to the L1 cache and comes back from the L1 cache. The worst case scenerio is that we have a ~180 cycle stall while the value goes back to the system memory and comes back from the system memory and all of this is because of two assembly statements that Visual Studio should have deleted. The second thing I see wrong here is that 0.5 can be algebraically extracted from the expressions, squared and mutiplied with what is left after it is computed to give the final result, eliminating a multiplication. A general idea that I have encountered is that code should be made to be readable, because optimizations that can be done that obfuscate the code would be done by the compiler. Here is one place where an optimization that would obfuscate the code (i.e. making it difficult to see the two newton steps) is not being done by the compiler. The third thing I see wrong here is the following: 00401046* fld******** dword ptr [esp+34h] //This is x 0040104A* fst******** dword ptr [esp+30h] 0040104E* mov******** ecx,dword ptr [esp+30h] This pushes x onto the stack, sends it to a place in system memory and then calls it back to a general purpose register. Whatever place it is being sent is wasted, as it is possible to load into ecx directly from the location where it is loaded onto the stack: 00401046* fld******** dword ptr [esp+34h] //This is x 0040104E* mov******** ecx,dword ptr [esp+34h] The same thing that applied to problem one about wasting cycles also applies here. Now, there are 28 instructions generated by Visual Studio under release mode. Two of them are useless, one can be algebrically eliminated and a third can be modified to allow another to be removed. All that is necessary is 24 instructions. Something that someone else might consider to be wrong is the fact that x is being left on the stack, but that is because z = 1.0l / sqrt(x); comes next and the function has been inlined. Anyway, I compiled my code with Visual Studio 2008 Professional under release mode with the default settings, so I assumed that the fact that /fp:precise is set by default to be the reason for these problems, so I changed it to /fp:fast and recompiled. Here is what Visual Studio 2008 Professional generated. I partially annotated it for clarity: 00401035* fld******** dword ptr [__real@40400000 (4021A8h)] *** { *** *** *** *** y = InvSqrt(x); 0040103B* mov******** edx,5F375A86h 00401040* fld******** qword ptr [__real@3fe0000000000000 (4021A0h)] *** *** z = 1.0l / sqrt(x); *** *** printf("InvSqrt(%f) = %f (y) with custom function\nInvSqrt(%f) = %f (z) with built-in functions\nz - y = %f\nThe relative error is %f\n\n", *** *** *** x, y, x, z,*** z - y, *** *** *** 1.0l - y / z *** *** *** ); 00401046* sub******** esp,30h 00401049* fld******** dword ptr [esp+6Ch] 0040104D* fst******** dword ptr [esp+68h] 00401051* mov******** ecx,dword ptr [esp+68h] 00401055* sar******** ecx,1 00401057* sub******** edx,ecx 00401059* mov******** dword ptr [esp+68h],edx 0040105D* fld******** dword ptr [esp+68h] 00401061* fld******** st(0) 00401063* fmul******* st,st(1) 00401065* fmul******* st,st(2) 00401067* fsubr****** st,st(4) 00401069* fmulp****** st(1),st 0040106B* fmul******* st,st(2) // Unnecessary multiplication by 0.5 0040106D* fld******** st(0) // Load new bitC.floatpart 0040106F* fmul******* st,st(1) // bitC.floatpart * bitC.floatpart 00401071* fmul******* st,st(2) // bitC.floatpart * bitC.floatpart * x 00401073* fsubp****** st(4),st // 3.0f - bitC.floatpart * bitC.floatpart * x 00401075* fmulp****** st(3),st // (3.0f - bitC.floatpart * bitC.floatpart * x) * bitC.floatpart 00401077* fxch******* st(2) // Lets shuffle the registers 00401079* fmulp****** st(1),st // (3.0f - bitC.floatpart * bitC.floatpart * x) * bitC.floatpart * 0.5 There are 24 instructions here, but the number of multiplications is the same. Two of the fxch change instructions were removed because Visual Studio decided to leave x at st(1) and the result at st. I am not showing it here, but it then proceeds with fld st(1) when I would have used fstp. I assume this is to keep the result in a register so that it is ready for later printing, which is something that I could not determine myself without writing assembly specifically to display the result, which that I would never want to write. Anyway, it seems that problems one and three were resolved. However, problem two is still an issue. I should not have to sacrafice the clarity that having two separate Newton steps in C code brings to get properly optimized assembly. Does anyone know why Visual Studio 2008 Professional fails to do this optimization, even with /fp:fast set? More... View All Our Microsoft Related Feeds
  21. <img alt="" height="1" width="1"> Frustrated Users Rage Against Vista SP1 CRN, NY - 22 minutes ago In a Thursday post to the Vista team blog, a poster using the handle 'COG93rd' seemed to be particularly upset by the experience. "I'm losing my mind. ... More... View All Our Microsoft Related Feeds
  22. <img alt="" height="1" width="1"> Vista Service Pack Poses ... InternetNews.com - 20 minutes ago Microsoft posted a list of caveats on its Vista Team Blog on Tuesday. That includes warnings that the Windows Update SP1 installer would block access to ... More... View All Our Microsoft Related Feeds
  23. We've been looking more carefully recently at what we buy/eat. There's a show called River Cottage Treatment all about factory raised food vs organic free range (as in beer ;)) So we had a look around at what was available to buy - that supports these standards... and were somewhat surprised at our findings. First off - almost all organic grocery stores - are delivery only.* But they are not like a supermarket.* They have weekly "baskets" or "bins" of stuff - pre-selected - that they deliver....* Not exactly what we were looking for. (didnt want to sacrifice choice) So we finally found Whole Foods Market which is more like a large grocery store - but with all the politically correct food (Fair Trade etc) The prices were not too bad.* A normal decent size Loblaws chicken here is around 8$.* Same size there was 12$.* So it is indeed a tad more. Although some things were cheaper (organic stocks ) and they did have some cool stuff - that just are not available at standard grocery stores - like canned organic tomatoes from Italy. Unfortunately - the only store in the entire city - is downtown - in rosedale/yorkville.* Or Richville - as some refer to it. While I could see myself going there maybe once a month - Im not driving downtown to do the groceries once or twice a week. SO we continued to look.**Now at*local shops - if they do offer organic / FR products - are very very expensive.* Also - many of the local stores have little selection (again) - one had a single organic steak - FROZEN - for $28.00 .. uh no thanks. But today - we did find a new store had opened - that was like a mini - Whole Foods, about 10 minutes away. The girl who owned it was nice - and I ended up buying a lot of things - id been meaning to try - but had just never seen. For example - a bag of Heritage root vegetables (with all different colours of carrots)* Never seen that before. So - because she was engaging us - I asked if she had other things Ive seen - but not tried: Fleur de sel?* Smoked Sweet Paprika? Truffle oil? Safron? yep.yep.yep.yep. I thought truffle oil and safron were like 50 bucks or something - but its was just 7.99 and 4.99.* We also grabbed a prime rib for Easter.. albiet at more than the normal grocery. So that's our - politically correct, green, organic, eco-enviro food story (so far.) Im not about to become a vegan and wear hemp clothes or anything - but it is fun trying new things - and getting away from the main "vitamin enhanced GMO" food stream. So.. do any of you shop organic? or just regular grocery stores.. or (shudder) ready meals / tv dinners? Does it take too long?* too expensive? worth it? Personally*I dont understand why Whole Foods doesnt open at least 4 more stores across the city.* It was packed and seemed to be a cross between convenience and ..ahem.. responsible eating (insert armpit fart noise*here)* :) ? More... View All Our Microsoft Related Feeds
  24. <img alt="" height="1" width="1"> What it says on the box ZDNet UK, UK - 50 minutes ago I was going to blog this evening but Vista, as I shall relate below, had other ideas. Still, I found it an illuminating example that captures much of what ... More... View All Our Microsoft Related Feeds
  25. Recorded on February 13th, 2008. In this installment of geekSpeak, Reza Madani shows you many useful*tips for extending Microsoft SQL Server Integration Services (SSIS) with scripts. Highlights include learning the proper way to pass parameters to scripts, how to log effectively, and more. In addition to the numerous demos, Reza manages to answer*quite a few questions from the audience. This show was hosted by Lynn Langit and Mithun Dhar Guest information: Reza Madani, Principal, Harbor Objects Reza Madani is a principal at his own Microsoft .NET Framework development company, Harbor Objects, where he architects and implements solutions on the .NET platform. Reza's firm specializes in Business Intelligence and Microsoft SharePoint Products and Technologies built on Microsoft SQL Server 2005. Reza is very active in the Southern California user group community, leading several local .NET developer groups that are based there. http://channel9.msdn.com/Photos/391390.jpg Watch the screencast(WMV) More... View All Our Microsoft Related Feeds
×
×
  • Create New...