Search Results

Search found 910 results on 37 pages for 'disc'.

Page 27/37 | < Previous Page | 23 24 25 26 27 28 29 30 31 32 33 34  | Next Page >

  • Help remembering name of boot CD (maybe it wasn't a live CD)

    - by daneee
    I am struggling to remember the name of a boot CD I have since lost the disc for. It was great for cloning discs, and resetting passwords. It's NOT the UBCD4Win, and it defos wasn't Knoppix. I have checked the LiveCD list and can't seem to find it there by doing a 'sort by'. I seem to remember it was called something like GS Tools but that might be more or less completely wrong. It had an unusual but memorable name. Makes me wonder how I came across it in the first place!

    Read the article

  • WD Elements Desktop External - Not recognised on a single computer

    - by Aelexe
    My WD Elements Desktop External is no longer recognised on my main computer. It has worked fine in the past, but now all of a sudden is not detected. It does not prompt when plugged in, nor does it show up in the disc management interface or the device manager. It appears to be aware that it is plugged in however as the light on the external blinks rapidly for a short while after being plugged in. The strangest thing however is that it works fine on other computers, including my family computers and my laptop. I have attempted to troubleshoot the issue by trying various USB devices in multiple ports on each system to see if there is any correlation with the issue, but have come up with nothing that gives me an idea of what is going on. I have also attempted to format the external using my laptop, but that has not helped either. If anyone has had a similar issue, or knows of any potential solutions, please post your advice. Thanks for your time.

    Read the article

  • PNY ExpressCard SATA II 2-port card - drivers?

    - by stewartwb
    I bought a couple of PNY eSATA cards for notebook computers, model P-NSA2-EC-RF. I mistakenly thought that they would be a bit more plug-and-play, like cards that supply USB or Firewire ports. They did not ship with the Driver CD, and the drivers I found on the PNY web site didn't work. I've emailed their support group, but we all know how likely it is that they will respond before the end of the decade. Does anyone have a driver disc handy for this model card, or know where I might download a driver ISO? (Dell XPS M1330 laptop running Windows 7 x64 and sometimes Windows 7 x86)

    Read the article

  • OEM Windows 8 Downgrade to Windows 7

    - by user1873048
    I recently Purchased an ASUS K55A As you may know, all Windows 8 machines come with a BIOS that contains 'Secure Boot'. This basically makes sure that the BIOS won't load anything other than the Windows 8 OEM bloatware version that comes with new Laptops. However the Asus Bios allows for me to disable the secure boot, and therefore I should be able to revert to Windows 7, Linux, etc. Drivers may or may not be supported. When I put my MINT LINUX boot disc in CD-R Drive and try to boot from ISO, nothing happens. There isn't even a boot priority list in this BIOS... I can provide screen shots later. It just says WINDOWS 8 Bootloader and also on the other tab it says WINDOWS 8 BOOT OVERRIDE Has anybody purchased a windows 8 machine and successfully loaded windows 7 or Linux?

    Read the article

  • Password not accepted when resuming from sleep

    - by Comrade
    My HP Pavilion dv-series notebook will not accept the user account password for the logged in user when resuming from sleep - message returned is Incorrect Password. Simply selecting the Switch User option reloads the login screen and allows me to log in as the same user with the same password that was originally rejected. And, yes I've tried it more than one (hundred) times in case you were thinking it's just a case of slippery fingers. Another interesting point is that it appears to be independent of the software running on the machine. Since the issue first appeared, I have done two clean installs where all HD partitions were wiped and new ones created during fresh installation of the OS. The first such clean install was of Ubuntu (Lucid) 10.04 amd-64, the second of Win 7 Pro 64 (from boxed disc and activated post install). Exactly the same symptoms, described above, are exhibited on both platforms. Have engaged in significant amount of Googling an come up empty so any ideas are welcome.

    Read the article

  • DVD/CD-ROM drives stop working in Windows 7

    - by Marcus L
    All of a sudden Windows 7 (64 bit) lost all DVD and CD-ROM drives. It worked fine for about a month, then I don't know what happened. At first I thought it was a hardware problem - that my DVD-ROM had malfunctioned. But then I realized that Windows 7 no longer picked up on Demon Tools drives either. I can boot both Windows installation and Knoppix from the DVD-drive. So it seems to be a general problem with "disc-media". When trying to reinstall the hardware DVD-ROM Windows recognizes the drive (though sometimes simply label it as "CD-ROM drive"), but then says something went wrong - with from what I understand is a default error message (39), claiming the driver has become corrupt. I've tried every Microsoft recommended action, i.e. uninstall, reinstall, look for driver updates etc. etc., but with no luck. Any tip most welcome!

    Read the article

  • Is UEFI more or less vulnerable than Legacy BIOS?

    - by Eric
    Is UEFI more secure than BIOS on a Windows 8.1 machine? Is UEFI vulnerable to malware in ways that Legacy BIOS is not? Is it correct that UEFI can connect to the internet before the OS (or anti-virus program) has loaded? On some boards, UEFI settings can be changed in Windows. Do these things affect PC security? I have read that BIOS on an MBR disc can be vulnerable to 'rootkits' There have been reports that suggest UEFI secure boot may not be infallible. Is UEFI better at defending against malware than BIOS?

    Read the article

  • Disaster - partitions lost, data seemingly alive, how to recover?

    - by a2h
    I've used TestDisk and it's written my old partition structure of a ~20GiB partition for Vista, ~25GiB partition for 7 (but it now shows up as unallocated) and a ~400GiB partition for documents. What it's meant to be is a 30GiB partition for 7, some unallocated space, and a ~400GiB partition for documents. So currently, I have access to all my documents, but not any of the programs I've installed on C:, or AppData, because my boot partition is now supposedly a 20GB vista partition. I've tried using my Windows 7 install disc's repair function, but that did nothing beyond wasting about 10 minutes of my time. I'm currently posting from an Ubuntu live CD. Any help?

    Read the article

  • Fastest security check of file tree on NFS

    - by fungs
    I am currently experiencing very bad performance using the following on an NFS network folder: time find . | while read f; do test -L "$f" && f=$(readlink -m $f); grp="$(stat -c %G $f)"; perm="$(stat -c %A $f)"; done Question 1) Within the loop permissions are checked using the variables grp and perm. Is there a way to lower the amount of disc I/O for these kind of checks over the network (e.g. read all meta data at once using find)? Question 2) It seems like the NFS isn't tuned very well, the same operation on a similar network link via SSHFS take only one third of the time. All parameters are auto-negotiated. Any suggestions?

    Read the article

  • Red Hat 6.5- sysctl -w net.ipv6.conf.default.accept_redirects=0

    - by kjbradley
    I am in the process of writing a Red Hat 6.5 Kickstart disc with hardened security. I have run a program to determine where the weaknesses are in my system, and apparently there is a medium severity problem by accepting IPV6 redirects. When I implement the following line in my post script in my kickstart, I can't access any websites externally with wget, or ssh/scp in from my computer. sysctl -w net.ipv6.conf.default.accept_redirects=0 Is there a workaround to this so that the system will still be hardened but I will be able to access systems that are external?

    Read the article

  • bluray playback stuttering/choppy on mac

    - by smashtastic
    I have had a few issues with bluray playback on mac with the following details: 2.4 GHz Core 2 duo NVidia 8600 m GT 256 mb ram 4 GB ram OSX Lion 10.7.5 Using VLC 2.03 for playback Files either mounted as a disc or stored on hardisk. I have tried various sources and playback is always choppy and stutters. Where the video and audio pause for a few seconds before resuming ok. If I transcode the same bluray files into mkv files play back is seemless. I am not applying any compression and the resolution is the same as is the nominal file size. For a recent example 11.2 GB m2ts and 10.5 GB mkv file. This stuttering and choppy playback of bluray files through VLC has occured for a number of different sources. For each of these sources transcoding to mkv solves the stuttering/choppiness. Any ideas on how to resolve this?

    Read the article

  • How do I audit CD/DVD tray opening events in Windows 7?

    - by MetaHyperBolic
    Since installing Windows 7, the entire office has experienced random CD tray openings, sometimes while we are in the office, sometimes not. On my PC, I have two disc-reading devices, but only the top one ever slides open. I have found nothing in the event logs to that looks appropriate, even going to them right after I saw my own tray slide open all by itself. Although it's not hurting anything (that I can tell), I'd like to know what is going on. To that end, are there any useful ways to audit these events?

    Read the article

  • Netbook won't boot after using EasyBCD

    - by TNC
    I have an Asus T91MT netbook on which I used to have Windows 7 Home Premium and Ubuntu 10.10 installed (dual boot). After trying to upgrade to Ubuntu 11.04, Ubuntu is no longer able to boot, so I tried to uninstall Ubuntu completely and then reinstall it. Following these directions, I tried using EasyBCD to bypass the GRUB2 bootloader so that after uninstalling, it would automatically boot into Windows 7. However, after doing the "install BCD" step and restarting, I got the following message: Windows failed to start... File: \Boot\BCD; Status: 0xc0000098; Info: The Windows Boot Configuration Data file does not contain a valid OS entry. I'm currently trying to create a USB stick of the Windows Installation disc but in the mean time, I can only boot from a Ubuntu USB stick. Is there anything I can do from within Ubuntu to fix this? Or does anyone have any other suggestions/solutions?

    Read the article

  • Server 2003 saying unlicensed

    - by nat
    I came in this morning to our windows 2003 server - running only SQL server 2005 saying it was unlicensed. When logged straight onto the box as soon as I got past the login, it popped up the click yes to license, did that and it would just loop back around to the login. It wouldn't turn off, couldn't remote to it, after a power off and reboot, it magically decided it was in fact licensed. It didn't appear to be low on disc space or other resources. Logs not showing anything out of the ordinary. Has anyone else experienced this, or might have an idea as to what just happened? Any help much appreciated.

    Read the article

  • I dropped my hp laptop and it has been on the startup repair screen for hours now--what can I do?

    - by tiy
    I dropped my hp laptop (I have windows 7). There was a blue screen with the cursor. It took about an hour or two for the startup repair screen to appear. Then it says to wait at least an hour. I've been charging my laptop for around a day now and the same screen, with a bar with blue moving, is still there. It says it's fixing disc errors. What can I do to get to the windows screen with usernames and pictures/fix it? thanks.

    Read the article

  • How to un-partition a drive on windows 7

    - by Michael Rentmeister
    I bought this laptop used from a friend. The laptop has 500gb of storage; however, the drive is partioned. The C: drive has an allocated space of 50gb whereas the partition has 396gb allocated to it. How do i either take some of the space from the partition and move it to the C: drive, or get rid of the partition? I've done some searching and people say I'm supposed to be able to use "Disc Management" to "delete volume," but when i right click on the partition the "delete volume" is not enabled. Here is a picture:

    Read the article

  • DVD Drive Has Stopped Recognizing Discs

    - by ricree
    My DVD drive no longer recognizes dvds, but does recognize CD-ROMs. When a DVD is in the drive, the computer continues to act as though there is no disc in the drive. However, when a normal CD-ROM is in the drive, it appears to work normally. I have tested on several discs, both video and game, and the behavior is consistent. I have also tested this on both Windows Vista and Ubuntu 9.10, and the issue remains the same. Can anyone recommend a way to fix this?

    Read the article

  • Categorising a large mysql result with php while?

    - by Ryan
    I'm using the following to grab my large result set from a mysql db: $discresult = 'SELECT t.id, t.subject, t.topicimage, t.topictype, c.user_id, c.disc_id FROM topics AS t LEFT JOIN collections AS c ON t.id=c.disc_id WHERE c.user_id='.$user_id; $userdiscs = $db->query($discresult) or error('Error.', __FILE__, __LINE__, $db->error()); This returns a list of all items that the user owns. I'm then needing to categorise these items based on the value of the "topictype" column, which Im currently doing by using: <h2>Category 1</h2> <?php while ($cur_img = mysql_fetch_array($userdiscs)) { if ($cur_img['topictype']=="cat-1") { if ($cur_img['topicimage']!="") { echo "<div><a href=\"viewtopic.php?id=".$cur_img['id']."\" title=\"".$cur_img['subject']."\"><img src=\"".$cur_img['topicimage']."\" style=\"width:60px; height: 60px\" /></a><br /><a href=\"viewtopic.php?id=".$cur_img['id']."\" title=\"".$cur_img['subject']."\">".$cur_img['subject']."</a></div>"; } else { echo "<div><a href=\"viewtopic.php?id=".$cur_img['id']."\" title=\"".$cur_img['subject']."\"><img src=\"img/no-disc-art.jpg\" style=\"width:60px; height: 60px\" /></a><br /><a href=\"viewtopic.php?id=".$cur_img['id']."\" title=\"".$cur_img['subject']."\">".$cur_img['subject']."</a></div>"; } } } mysql_data_seek($userdiscs, 0); ?> <h2>Category 2</h2> <?php while ($cur_img = mysql_fetch_array($userdiscs)) { if ($cur_img['topictype']=="cat-2") { if ($cur_img['topicimage']!="") { echo "<div><a href=\"viewtopic.php?id=".$cur_img['id']."\" title=\"".$cur_img['subject']."\"><img src=\"".$cur_img['topicimage']."\" style=\"width:60px; height: 60px\" /></a><br /><a href=\"viewtopic.php?id=".$cur_img['id']."\" title=\"".$cur_img['subject']."\">".$cur_img['subject']."</a></div>"; } else { echo "<div><a href=\"viewtopic.php?id=".$cur_img['id']."\" title=\"".$cur_img['subject']."\"><img src=\"img/no-disc-art.jpg\" style=\"width:60px; height: 60px\" /></a><br /><a href=\"viewtopic.php?id=".$cur_img['id']."\" title=\"".$cur_img['subject']."\">".$cur_img['subject']."</a></div>"; } } } mysql_data_seek($userdiscs, 0); ?> This works fine when I rinse and repeat the code, but as the site grows I expect I'll run into problems as the number of "topictype" options increases (expecting around 30 categories). I dont want to have to make seperate queries for each categorised group of discs either, as Id eventually have 30 queries being run as categories increase, so hoping to hear some suggestions or alternative approaches :) Thanks

    Read the article

  • The Most Common and Least Used 4-Digit PIN Numbers [Security Analysis Report]

    - by Asian Angel
    How ‘secure’ is your 4-digit PIN number? Is your PIN number a far too common one or is it a bit more unique in comparison to others? The folks over at the Data Genetics blog have put together an interesting analysis report that looks at the most common and least used 4-digit PIN numbers chosen by people. Numerically based (0-9) 4-digit PIN numbers only allow for a total of 10,000 possible combinations, so it stands to reason that some combinations are going to be far more common than others. The question is whether or not your personal PIN number choices are among the commonly used ones or ‘stand out’ as being more unique. Note 1: Data Genetics used data condensed from released, exposed, & discovered password tables and security breaches to generate the analysis report. Note 2: The updates section at the bottom has some interesting tidbits concerning peoples’ use of dates and certain words for PIN number generation. The analysis makes for very interesting reading, so browse on over to get an idea of where you stand with regards to your personal PIN number choices. 8 Deadly Commands You Should Never Run on Linux 14 Special Google Searches That Show Instant Answers How To Create a Customized Windows 7 Installation Disc With Integrated Updates

    Read the article

  • How to Backup and Transfer Opera Settings, Profiles, and Browsing Sessions

    - by Lori Kaufman
    We’ve previously shown you how to backup Firefox profiles using an extension and third-party software and how to backup Google Chrome profiles. If you use Opera, there is a free tool that makes it easy to backup Opera profiles, settings, and even browsing sessions. Opera offers a sync service, called Opera Link, which allows you to sync your bookmarks, personal bar, history, Speed Dial, notes, and search engines with other computers. However, this service does not sync your current browsing sessions and passwords. We found a free tool, called Stu’s Opera Settings Import & Export tool, that allows you to export all your Opera settings, profiles, and browsing sessions to an archive and import it into Opera on the same or another computer. Stu’s Opera Settings Import & Export tool is portable and does not need to be installed. Simply download the .zip file using the link at the end of this article. Double-click the osie.exe file to run the program. 8 Deadly Commands You Should Never Run on Linux 14 Special Google Searches That Show Instant Answers How To Create a Customized Windows 7 Installation Disc With Integrated Updates

    Read the article

  • No-Weld Multi-Monitor Stand Crafted From Sturdy Metal Framing

    - by Jason Fitzpatrick
    As far as DIY stands for multiple monitors go, this design has to be the sturdiest and least difficult to construct model we’ve seen in some time. Read on to see how one DIYer cleverly crafted a solid metal triple monitor stand with no welding involved. Tinker and gamer Opteced wanted a new stand for his Eyefinity setup but wasn’t in a hurry to spend a pile of cash on a custom stand. His DIY solution is just as sturdy as a commercial metal stand but is made out of inexpensive hardware store parts–the main supports and base are made from Unistrut, a simple metal framing material. Unlike many DIY stands made from metal rods and piping, this build doesn’t require any sort of welding or custom pipe threading. In fact, the metal struts are so over engineered for the task of holding up flat-panel monitors he was able to simply partially saw through them and bend them to the shape he wanted. Hit up the link below for additional pictures of the build. Unistrut Monitor Stand [via Hack A Day] 8 Deadly Commands You Should Never Run on Linux 14 Special Google Searches That Show Instant Answers How To Create a Customized Windows 7 Installation Disc With Integrated Updates

    Read the article

  • Unable to install Win XP nor Win 7 after installing Ubuntu 11.1

    - by Pablo C. Garcia
    I'll try to make this scenario as clear as possible. Laptop Specs HP dv6-2189la: 500 HDD 4GB Ram Intel i7 Personal Specs - Linux newbie running for the first time. Quite confused :( I had Windows 7 x64, decided to start fresh new so I planned on formatting. Since I use it for work and didn't require it for another week, I didn't rush into installing Win 7 immediately as I wanted to try Ubuntu for quite a while. 1) Downloaded Ubuntu 11.1 2) Burned ISO to CD 3) Installed Ubuntu using the full HDD of 500GB erasing Win7 4) Ubuntu ran awesome (especially for me being a Linux Newbie from scratch) I used Ubuntu for a while, but now I need to get back to work with Win 7. Tried running the installation CD for Win 7 and it just skips to Ubuntu without loading. Checked BIOS, tried other discs, even tried the disc on another computer and it works. Since that didn't work, I tried running Win XP. This CD does load, it starts loading files, drives, kernel, blah blah and before even getting to install it Blue screens with error 0x0000007b. I already used Gparted and created up to 250 GB space for Windows. Formatted to NTFS. I really don´t know what do now. I've tried almost everything I know within my knowledge. I could say I'm an advanced PC user, but I bumped into the Linux wall starting from scratch. All suggestions will be appreciated. Thanks!

    Read the article

  • How to Use the Avira Rescue CD to Clean Your Infected PC

    - by The Geek
    When you’ve got a PC completely infected with viruses, sometimes it’s best to reboot into a rescue disc and run a full virus scan from there. Here’s how to use the Avira Rescue CD to clean an infected PC. We’ve previously covered how to clean an infected PC using the BitDefender or Kaspersky rescue disks, and loads of readers have written in saying thanks, and reporting that they were able to clean their PC easily. Be sure and check out our previous articles on the subject: How to Use the BitDefender Rescue CD to Clean Your Infected PC How to Use the Kaspersky Rescue Disk to Clean Your Infected PC Otherwise, keep reading for how it all works with Avira, a well-respected anti-virus solution Latest Features How-To Geek ETC The Complete List of iPad Tips, Tricks, and Tutorials The 50 Best Registry Hacks that Make Windows Better The How-To Geek Holiday Gift Guide (Geeky Stuff We Like) LCD? LED? Plasma? The How-To Geek Guide to HDTV Technology The How-To Geek Guide to Learning Photoshop, Part 8: Filters Improve Digital Photography by Calibrating Your Monitor Deathwing the Destroyer – WoW Cataclysm Dragon Wallpaper Drag2Up Lets You Drag and Drop Files to the Web With Ease The Spam Police Parts 1 and 2 – Goodbye Spammers [Videos] Snow Angels Theme for Windows 7 Exploring the Jungle Ruins Wallpaper Protect Your Privacy When Browsing with Chrome and Iron Browser

    Read the article

  • To have a long life with the battery it has to be separated from the Laptop after each use

    - by laptopo1 dsad
    To have a long life with the battery it has to be separated from the Laptop after each use Developing a Laptop and concern about it's battery life Don't be concerned follow this advice how to deal with your Laptop battery. A fresh power supply of your Laptop can be purchased in a very low charge condition, and must be fully charged before use. A different battery pack needs to be fully charged and fully discharged or cycled as much as five times to condition them into performing at full capacity. And also refer your manual instructions of one's Laptop for charging instructions. Inspiron 15z battery Tips: Unplug battery after use: To have a long life with the battery it has to be separated from the Laptop after each use. Clean battery contacts often: Clean your battery's metal contacts once in a month with a cloth moistened with rubbing alcohol. This prevents the transfer of power out of your battery additional efficient. Turn off the WiFi and Bluetooth, in any other case being used: Usually, we activate our WiFi or Bluetooth for whatever reason and tend to forget to Off it, that could spark a huge relieve your battery, Shut off right after the usage. Dell XPS L501x battery Dim notebook screen: When you're with your Laptop in Daytime, you will need for full brightness. But also in case of Night, just dim the screen reducing brightness, which will consume more charge once the brightness might be more and also It's essential on your eyes to determine lesser brighten screen inside nights. Dell Inspiron 17R battery Have hardly any Background programs: Letting more programs to own behind the screen could consume more Dell Inspiron N4010 battery charge hence have very few without background programs are Better. Make use of the Hard disk drive more than CD/DVD drive: Making use of disc drive instead your CD/DVD drive could consume less battery power. Latitude E5400 Battery

    Read the article

  • Performance Optimization &ndash; It Is Faster When You Can Measure It

    - by Alois Kraus
    Performance optimization in bigger systems is hard because the measured numbers can vary greatly depending on the measurement method of your choice. To measure execution timing of specific methods in your application you usually use Time Measurement Method Potential Pitfalls Stopwatch Most accurate method on recent processors. Internally it uses the RDTSC instruction. Since the counter is processor specific you can get greatly different values when your thread is scheduled to another core or the core goes into a power saving mode. But things do change luckily: Intel's Designer's vol3b, section 16.11.1 "16.11.1 Invariant TSC The time stamp counter in newer processors may support an enhancement, referred to as invariant TSC. Processor's support for invariant TSC is indicated by CPUID.80000007H:EDX[8]. The invariant TSC will run at a constant rate in all ACPI P-, C-. and T-states. This is the architectural behavior moving forward. On processors with invariant TSC support, the OS may use the TSC for wall clock timer services (instead of ACPI or HPET timers). TSC reads are much more efficient and do not incur the overhead associated with a ring transition or access to a platform resource." DateTime.Now Good but it has only a resolution of 16ms which can be not enough if you want more accuracy.   Reporting Method Potential Pitfalls Console.WriteLine Ok if not called too often. Debug.Print Are you really measuring performance with Debug Builds? Shame on you. Trace.WriteLine Better but you need to plug in some good output listener like a trace file. But be aware that the first time you call this method it will read your app.config and deserialize your system.diagnostics section which does also take time.   In general it is a good idea to use some tracing library which does measure the timing for you and you only need to decorate some methods with tracing so you can later verify if something has changed for the better or worse. In my previous article I did compare measuring performance with quantum mechanics. This analogy does work surprising well. When you measure a quantum system there is a lower limit how accurately you can measure something. The Heisenberg uncertainty relation does tell us that you cannot measure of a quantum system the impulse and location of a particle at the same time with infinite accuracy. For programmers the two variables are execution time and memory allocations. If you try to measure the timings of all methods in your application you will need to store them somewhere. The fastest storage space besides the CPU cache is the memory. But if your timing values do consume all available memory there is no memory left for the actual application to run. On the other hand if you try to record all memory allocations of your application you will also need to store the data somewhere. This will cost you memory and execution time. These constraints are always there and regardless how good the marketing of tool vendors for performance and memory profilers are: Any measurement will disturb the system in a non predictable way. Commercial tool vendors will tell you they do calculate this overhead and subtract it from the measured values to give you the most accurate values but in reality it is not entirely true. After falling into the trap to trust the profiler timings several times I have got into the habit to Measure with a profiler to get an idea where potential bottlenecks are. Measure again with tracing only the specific methods to check if this method is really worth optimizing. Optimize it Measure again. Be surprised that your optimization has made things worse. Think harder Implement something that really works. Measure again Finished! - Or look for the next bottleneck. Recently I have looked into issues with serialization performance. For serialization DataContractSerializer was used and I was not sure if XML is really the most optimal wire format. After looking around I have found protobuf-net which uses Googles Protocol Buffer format which is a compact binary serialization format. What is good for Google should be good for us. A small sample app to check out performance was a matter of minutes: using ProtoBuf; using System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.Serialization; [DataContract, Serializable] class Data { [DataMember(Order=1)] public int IntValue { get; set; } [DataMember(Order = 2)] public string StringValue { get; set; } [DataMember(Order = 3)] public bool IsActivated { get; set; } [DataMember(Order = 4)] public BindingFlags Flags { get; set; } } class Program { static MemoryStream _Stream = new MemoryStream(); static MemoryStream Stream { get { _Stream.Position = 0; _Stream.SetLength(0); return _Stream; } } static void Main(string[] args) { DataContractSerializer ser = new DataContractSerializer(typeof(Data)); Data data = new Data { IntValue = 100, IsActivated = true, StringValue = "Hi this is a small string value to check if serialization does work as expected" }; var sw = Stopwatch.StartNew(); int Runs = 1000 * 1000; for (int i = 0; i < Runs; i++) { //ser.WriteObject(Stream, data); Serializer.Serialize<Data>(Stream, data); } sw.Stop(); Console.WriteLine("Did take {0:N0}ms for {1:N0} objects", sw.Elapsed.TotalMilliseconds, Runs); Console.ReadLine(); } } The results are indeed promising: Serializer Time in ms N objects protobuf-net   807 1000000 DataContract 4402 1000000 Nearly a factor 5 faster and a much more compact wire format. Lets use it! After switching over to protbuf-net the transfered wire data has dropped by a factor two (good) and the performance has worsened by nearly a factor two. How is that possible? We have measured it? Protobuf-net is much faster! As it turns out protobuf-net is faster but it has a cost: For the first time a type is de/serialized it does use some very smart code-gen which does not come for free. Lets try to measure this one by setting of our performance test app the Runs value not to one million but to 1. Serializer Time in ms N objects protobuf-net 85 1 DataContract 24 1 The code-gen overhead is significant and can take up to 200ms for more complex types. The break even point where the code-gen cost is amortized by its faster serialization performance is (assuming small objects) somewhere between 20.000-40.000 serialized objects. As it turned out my specific scenario involved about 100 types and 1000 serializations in total. That explains why the good old DataContractSerializer is not so easy to take out of business. The final approach I ended up was to reduce the number of types and to serialize primitive types via BinaryWriter directly which turned out to be a pretty good alternative. It sounded good until I measured again and found that my optimizations so far do not help much. After looking more deeper at the profiling data I did found that one of the 1000 calls did take 50% of the time. So how do I find out which call it was? Normal profilers do fail short at this discipline. A (totally undeserved) relatively unknown profiler is SpeedTrace which does unlike normal profilers create traces of your applications by instrumenting your IL code at runtime. This way you can look at the full call stack of the one slow serializer call to find out if this stack was something special. Unfortunately the call stack showed nothing special. But luckily I have my own tracing as well and I could see that the slow serializer call did happen during the serialization of a bool value. When you encounter after much analysis something unreasonable you cannot explain it then the chances are good that your thread was suspended by the garbage collector. If there is a problem with excessive GCs remains to be investigated but so far the serialization performance seems to be mostly ok.  When you do profile a complex system with many interconnected processes you can never be sure that the timings you just did measure are accurate at all. Some process might be hitting the disc slowing things down for all other processes for some seconds as well. There is a big difference between warm and cold startup. If you restart all processes you can basically forget the first run because of the OS disc cache, JIT and GCs make the measured timings very flexible. When you are in need of a random number generator you should measure cold startup times of a sufficiently complex system. After the first run you can try again getting different and much lower numbers. Now try again at least two times to get some feeling how stable the numbers are. Oh and try to do the same thing the next day. It might be that the bottleneck you found yesterday is gone today. Thanks to GC and other random stuff it can become pretty hard to find stuff worth optimizing if no big bottlenecks except bloatloads of code are left anymore. When I have found a spot worth optimizing I do make the code changes and do measure again to check if something has changed. If it has got slower and I am certain that my change should have made it faster I can blame the GC again. The thing is that if you optimize stuff and you allocate less objects the GC times will shift to some other location. If you are unlucky it will make your faster working code slower because you see now GCs at times where none were before. This is where the stuff does get really tricky. A safe escape hatch is to create a repro of the slow code in an isolated application so you can change things fast in a reliable manner. Then the normal profilers do also start working again. As Vance Morrison does point out it is much more complex to profile a system against the wall clock compared to optimize for CPU time. The reason is that for wall clock time analysis you need to understand how your system does work and which threads (if you have not one but perhaps 20) are causing a visible delay to the end user and which threads can wait a long time without affecting the user experience at all. Next time: Commercial profiler shootout.

    Read the article

< Previous Page | 23 24 25 26 27 28 29 30 31 32 33 34  | Next Page >