How can we help you today? How can we help you today?

Reflector 5.1.4.0 startup very, very slow

Hi,

we're sitting behind a company firewall and proxy and the time between executing the exe and seeing the Reflector form is more than one minute - on every startup.

It doesn't help to switch the proxy settings from "IE" to "manual".

I even tried to precompile it with ngen
C:\Program Files\Reflector>ngen install Reflector.exe
Microsoft (R) CLR Native Image Generator - Version 2.0.50727.1433
Copyright (c) Microsoft Corporation.  All rights reserved.
Installing assembly C:\Program Files\Reflector\Reflector.exe
    Compiling assembly C:\Program Files\Reflector\Reflector.exe ...
Reflector, Version=5.0.0.0, Culture=neutral, PublicKeyToken=18ca6bb8dd6a03c3

Is there a way to bring down the startup time to an acceptable amount - let's say ten seconds or less?

This startup time can be observed on several computers.
DJ Doena
0

Comments

15 comments

  • haleyjason
    Just curious, how many assemblies are in your assembly browser tree when you launch Refelctor? and how large are those assemblies? Not sure if this is your problem, but Reflector loads all of these at load time and parses them all before you can do anything, so the more you have already loaded the slower start time.

    If you find yourself needing a lot of assemblies, try using the list functionality on the File menu to group your assemblies and load them only when you need them.
    haleyjason
    0
  • DJ Doena
    Only the basic assemblies from .NET 2.0. I even deleted the config file.
    DJ Doena
    0
  • haleyjason
    What is your environment like - what OS, .Net Framework versions? Did Reflector use to load faster and now it doesn't? Was it the latest upgrade that slowed it down?
    haleyjason
    0
  • DJ Doena
    Hi,

    it's an Win XP SP2 with Frameworks from 1.0 to 3.5. The last version I had was from Lutz's site and it was definitively faster.

    Then it wanted me to upgrade and the automated process didn't work. So I came to redgate and downloaded it anew. And now I'm stuck.
    DJ Doena
    0
  • James Moore
    This is odd. There was no change to the startup code made between 5.1.2.0 (the last version released by Lutz) and 5.1.3/4.0.

    Could you have a look at CPU usage and memory usage during startup and let us know what it does?

    Thanks,

    James
    James Moore
    0
  • DJ Doena
    I've recorded a "startup video" with UVScreenCamera. It shows the task manager with cpu & memory usage, handles, threads until the Reflector opens.

    It's an exe that contains the video: http://home.arcor.de/yajirobi/upload/ReflectorVideo.zip (230kb)
    DJ Doena
    0
  • dany
    Hi,

    I just had a similar problem with another Assembly in a .NET project and now find the same with Reflector.

    The EXE is signed with a certificate which tries to validate itself via the Internet. In case of Reflector it lasts around 90 seconds and tries to contact crl.thawte.com, which is probably in most cases not possible due to closed net or FireWalls (use WireShark for proof, here it is an amount of 30 DNS requests with 7 failure responses from our server, more or less). If an application has multiple assemblies (or DLLs) which are code signed as well, the DNS timeout is probably used for every file... This is an OS automated process to check the validity of the certificate!

    Just try to display the details of the code signature by opening the EXEs settings dialog and go to the digital signatures tab. Here select the signature and show the details. It lasts a while and displays them. Here you can see in the certificate details, that there is an URL of crl.thawte.com.

    If the DNS request is not declined (just ignored), it takes normally a 10 to 15 seconds (!) timeout. To prevent this validation, you can remove the tick at the 'Check for publisher's certificate revocation' in the extended Internet configuration (system control), but be aware that this is a global setting :!: :x.

    See also here:
    http://www.tech-archive.net/Archive/Office/microsoft.public.office.developer.com.add_ins/2007-08/msg00057.html

    IMHO I find this technique 'questionable' at best. Luckily the creator of the other component (for charting) agreed to present both a signed and an unsigned version.
    dany
    0
  • DJ Doena
    Yes, my reflector.exe has that certificate, too. And when I want to view it, it takes forever to open the details dialog.

    http://img26.imageshack.us/img26/3716/reflectorqk1.png
    DJ Doena
    0
  • dany
    DJ,

    have you tried the system control "Internet options" (or however it is called in a non German OS, these are the settings of Windows resp. IE) as stated before?

    I know, that this may present a possible security leak, but for the sake of a try... :wink:
    dany
    0
  • DJ Doena
    My computer is running in a Windows domain with a tight group policy management, I can't even change my "home page" in IE.
    DJ Doena
    0
  • dany
    Ouch :cry:

    What about an entry in your HOSTS file like '127.0.0.1 crl.thawte.com'? Just for a "lame" workaround. Or is this not in your hands either?
    dany
    0
  • DJ Doena
    dany wrote:
    Ouch :cry:

    What about an entry in your HOSTS file like '127.0.0.1 crl.thawte.com'? Just for a "lame" workaround. Or is this not in your hands either?

    :shock:

    Works like a charm! :D
    DJ Doena
    0
  • dany
    You're welcome 8)
    dany
    0
  • dany
    Hi James,
    James Moore wrote:
    This is odd. There was no change to the startup code made between 5.1.2.0 (the last version released by Lutz) and 5.1.3/4.0.
    Any thoughts or comments for the community concerning code signing and changing security entries to let the application run properly?
    dany
    0
  • degree451
    None of these suggestions work. Does someone have the link to the original .Net reflector? It did not do this until Red Gate purchased it and I mistakingly clicked yes for the update yesterday. Clearly the code has changed... Reflector never loads on my system now. All I see now is a pop-up to update it again. Doesn't matter if I say yes or no, it never loads!!!!!
    degree451
    0

Add comment

Please sign in to leave a comment.