New Windows option in 7.9 Beta 1 to make Logos faster

Philana R. Crouch
Philana R. Crouch Member, Logos Employee Posts: 4,597

In our efforts to improve the performance speed of the application we have added a new option that needs to be manually applied. This process will need to be repeated each time a new version of the application is installed.

Updated to reflect changes made in 7.9 RC 1

To run the new performance command line:

1. Run a Command Prompt for `[logosinstallpath]\Logos.exe /ngen`

2. Click on Yes for changes to be made on the pop-up

To undo this process:

1. Run a Command Prompt for `[logosinstallpath]\Logos.exe /unngen`

2. Click on Yes for changes to be made on the pop-up

«1345

Comments

  • PL
    PL Member Posts: 2,134 ✭✭✭

    OK, being the brave one... (will probably regret this)...

    - I didn't get the UAC message in step 2 (probably because I'm running an admin account)

    - How do I know if this is done? The ngen seems to be stuck on a certain line for a long time. Is this normal? OK ngen now closes itself down automatically after about 5 minutes.

    - Note also the warning messages about Methods Not Found in the middle, see attached file

    - Logos 7.9 beta 1 on Windows 10. Logos was open the whole time while ngen ran... should I have closed it?

    - Should I restart Logos? Scared to close it down for fear it may not start again...

    - If it is safe to shut down Logos and restart (should I restart Windows also?), where do I look for the performance improvements?

    See attached file of the ngen text...1104.Logos7.9beta1ngen.txt

    Thanks,

    Peter

  • Andrew Batishko
    Andrew Batishko Community Manager, Logos Employee Posts: 5,364

    - I didn't get the UAC message in step 2 (probably because I'm running an admin account)

    That sounds pretty plausible.

    - How do I know if this is done? The ngen seems to be stuck on a certain line for a long time. Is this normal? OK ngen now closes itself down automatically after about 5 minutes.

    This all sounds normal. There won't be anything special when the process finishes, so it sounds like it should have worked just fine.

    - Note also the warning messages about Methods Not Found in the middle, see attached file

    This is not a problem.

    - Logos 7.9 beta 1 on Windows 10. Logos was open the whole time while ngen ran... should I have closed it?

    It doesn't matter if Logos was running while ngen ran.

    - Should I restart Logos? Scared to close it down for fear it may not start again...

    - If it is safe to shut down Logos and restart (should I restart Windows also?)?

     

    Yes. You can restart Logos. There is no need to restart Windows. If you run into a problem, you can use the process listed above to remove the optimization.

     where do I look for the performance improvements?

    You should see improvements in startup time plus the first time you access any particular feature of the application.

    To help you feel a little more comfortable with what's happening... The only change we've made to our application here is to add a command-line parameter that allows you to take advantage of a feature provided by Microsoft to provide post-installation performance improvements. All of the real work is done by a tool from Microsoft which was already available on your system. You could have manually used this tool at any point in the past to see the same performance gains.

    A slightly more technical explanation is here: https://en.wikipedia.org/wiki/Native_Image_Generator

    Andrew Batishko | Logos software developer

  • PL
    PL Member Posts: 2,134 ✭✭✭

    Thank you Andrew!

    This brave soul is very happy! It's like I got a turbo-upgraded new computer! Startup time is 25 seconds from click on icon to fully functional, usable Logos. Didn't time it before, I think startup was close to 1 minute previously. Everything is so much more responsive! It is nothing short of miraculous and amazing! I even ran a fuzzy search under the Bible search and it is so much faster.

    The only problem I have encountered so far is with the Bible Word Study guide. When I opened it from the menu, it carried over a Hebrew word from my previous search. I tried to type in "g:pistis" but each letter took several seconds to appear. Eventually it ran the search and the results came back very fast. Even though the response time here is unacceptably slow, it is already an improvement over before I restarted Logos after I ran ngen. Then each letter took maybe 20 seconds to pop up and was utterly unusable. That's why I was scared to restart Logos. Can you please look into this slowness issue?

    Thanks very much! Once this approach is fully tested by other users, I assume this will be built into future installation processes to run automatically?

    Great work (FL and MS)!

    Peter

    EDIT: P.S. The auto-populate of text entry boxes seem extremely slow. E.g. If I type in "esv" or "niv" in the Command Box, the auto-populate spins for 10-15 seconds before populating.

  • Andrew Batishko
    Andrew Batishko Community Manager, Logos Employee Posts: 5,364

    Glad to hear that this is working out really well for you!

    The only problem I have encountered so far is with the Bible Word Study guide. When I opened it from the menu, it carried over a Hebrew word from my previous search. I tried to type in "g:pistis" but each letter took several seconds to appear. Eventually it ran the search and the results came back very fast. Even though the response time here is unacceptably slow, it is already an improvement over before I restarted Logos after I ran ngen. Then each letter took maybe 20 seconds to pop up and was utterly unusable. That's why I was scared to restart Logos. Can you please look into this slowness issue?

    This is an unrelated issue. I recommend starting a new thread if you can recreate the problem. You will probably want to submit profiling logs as detailed here: https://wiki.logos.com/Logos_Windows_Profiler_Utility

    Thanks very much! Once this approach is fully tested by other users, I assume this will be built into future installation processes to run automatically?

    We're not entirely sure yet how this will be implemented generally. It can't be done completely automatically, since it requires elevation, and it has to happen after every time a new version is installed. Assuming that your experience is generally shared by others, we'll be taking a look at the best way to integrate this more cleanly.

    Andrew Batishko | Logos software developer

  • James Taylor
    James Taylor Member Posts: 1,408 ✭✭✭

    Assuming that your experience is generally shared by others...

    Wow, I definitely noticed an improvement on my end too. I just had a 4 second start up!!

    Logos 10  | Dell Inspiron 7373 | Windows 11 Pro 64, i7, 16GB, SSD | iPhone 13 Pro Max

  • (‾◡◝)
    (‾◡◝) Member Posts: 924 ✭✭

    [Y]   Noticeably faster loading times.

    From Logos.log(s):

             - without ngen: "Info StartupUtility Finished startup at 6937ms"

             - with ngen:      "Info StartupUtility Finished startup at 4024ms"  2913ms faster ---> 42%

    Instead of Artificial Intelligence, I prefer to continue to rely on Divine Intelligence instructing my Natural Dullness (Ps 32:8, John 16:13a)

  • TCBlack
    TCBlack Member Posts: 10,978

    In our efforts to improve the performance speed of the application we have added a new option that needs to be manually applied. This process will need to be repeated each time a new version of the application is installed.

    To run the new performance command line:

    1. Run a Command Prompt for `[logosinstallpath]\Logos.exe /ngen`

    Well it certainly took awhile to compile, but not horribly so.

    It's hard to say if the observable start up time was really faster, only because I had Logos running before I did this, which I assume left certain DLL's etc in ram, second startup is always faster anyway, and it did seem at least that fast.

    I have not noticed anything amiss.  But I'll continue to pay attention.

    Hmm Sarcasm is my love language. Obviously I love you. 

  • Robert M. Warren
    Robert M. Warren Member Posts: 2,452 ✭✭✭

    I don't look at logs, but it seems significantly faster at startup. (I rebooted in case there is some caching effect.) Changing layouts seems faster, too. This machine has 16GB and an SSD. I'll get a better idea when I try it on a slower computer.

    macOS (Logos Pro - Beta) | Android 13 (Logos Stable)

    Smile

  • Mark Smith
    Mark Smith Member, MVP Posts: 11,790 ✭✭✭

    I installed it.

    Can you explain a little about what this is doing that is supposed to speed things up?

    Pastor, North Park Baptist Church

    Bridgeport, CT USA

  • Adam Olean
    Adam Olean Member Posts: 449

    In our efforts to improve the performance speed of the application we have added a new option that needs to be manually applied. This process will need to be repeated each time a new version of the application is installed.

    To run the new performance command line:

    1. Run a Command Prompt for `[logosinstallpath]\Logos.exe /ngen`

    Is the result of this new performance command line identical to running "ngen install" on Logos.exe (i.e., the assemblyPath)?

    https://docs.microsoft.com/en-us/dotnet/framework/tools/ngen-exe-native-image-generator 

  • Dave Hooton
    Dave Hooton Member, MVP Posts: 35,674 ✭✭✭

    Can you explain a little about what this is doing that is supposed to speed things up?

    Andrew supplied this link, above.

    Dave
    ===

    Windows 11 & Android 13

  • Andrew Batishko
    Andrew Batishko Community Manager, Logos Employee Posts: 5,364

    Is the result of this new performance command line identical to running "ngen install" on Logos.exe (i.e., the assemblyPath)?

    https://docs.microsoft.com/en-us/dotnet/framework/tools/ngen-exe-native-image-generator 

    That's correct.

    Andrew Batishko | Logos software developer

  • Dave Hooton
    Dave Hooton Member, MVP Posts: 35,674 ✭✭✭

    Yes   Noticeably faster loading times.

    From Logos logs:

             - without ngen: "Info StartupUtility Finished startup" 12.9s-15.9s. Avg. 14.2s

             - with ngen:      "Info StartupUtility Finished startup" 9.9s-11.5s. Avg. 10.5s

    There is less lag opening my ESV tab with one Search VF.

    EDIT:   on v7.7 time to finish startup approx. 24s. Overall performance improvement is > 50% on a hard drive.

    Dave
    ===

    Windows 11 & Android 13

  • Jonathan Pitts
    Jonathan Pitts Member Posts: 670 ✭✭

    Don't forget, you can put the command line ([logosinstallpath]\Logos.exe /ngen) into a text file and save it as Filename.cmd. Double clicking on that file should run the installer when you need to do it for the next version of Logos.

  • Erwin Stull, Sr.
    Erwin Stull, Sr. Member Posts: 2,793

    Don't forget, you can put the command line ([logosinstallpath]\Logos.exe /ngen) into a text file and save it as Filename.cmd. Double clicking on that file should run the installer when you need to do it for the next version of Logos.

    Yes [:)] , the old DOS is still needed and required. Faithlife probably can integrate a subroutine that would partially automate the process in the future.

  • James Taylor
    James Taylor Member Posts: 1,408 ✭✭✭

    you can put the command line ([logosinstallpath]\Logos.exe /ngen) into a text file and save it as Filename.cmd. Double clicking on that file should run the installer when you need to do it

    thanks for the shortcut

    Logos 10  | Dell Inspiron 7373 | Windows 11 Pro 64, i7, 16GB, SSD | iPhone 13 Pro Max

  • James Taylor
    James Taylor Member Posts: 1,408 ✭✭✭

    save it as Filename.cmd

    how did you accomplish this? when I attempt it says it an invalid name...

    Logos 10  | Dell Inspiron 7373 | Windows 11 Pro 64, i7, 16GB, SSD | iPhone 13 Pro Max

  • Donnie Hale
    Donnie Hale Member Posts: 2,036

    It doesn't matter if Logos was running while ngen ran.

    If this is the case, I'm not sure why you're forcing users to open a command prompt and run a command line.

    Pleased with the continued performance work... A bit surprised that Logos hasn't been ngen'd all along...

    Donnie

  • TCBlack
    TCBlack Member Posts: 10,978

    save it as Filename.cmd

    how did you accomplish this? when I attempt it says it an invalid name...

    You're trying to save it with the wrong name.  When you save it save it as LOGOSNGEN.CMD

    That should do it.  As it stands your filename has slashes and such that means it's a path.

    Hmm Sarcasm is my love language. Obviously I love you. 

  • Erwin Stull, Sr.
    Erwin Stull, Sr. Member Posts: 2,793

    save it as Filename.cmd

    how did you accomplish this? when I attempt it says it an invalid name...

    Hi James; Jonathan Pitts suggested that. You create a text file with the original command line as suggested by Faithlife, then save it with a cmd extension. TCBlack answered below.

  • Randy W. Sims
    Randy W. Sims Member Posts: 2,272

    You don't need a batch file. Just create a shortcut on your desktop (right-click -> New -> Shortcut) to "%localappdata%\Logos\Logos.exe /ngen" (without parens).

    Copy that shortcut, Right-click -> properties and change /ngen to /unngen.

    You can also copy these shortcuts to your Logos toolbar.

  • Lynden O. Williams
    Lynden O. Williams Member, MVP Posts: 8,974 ✭✭✭

    We're not entirely sure yet how this will be implemented generally. It can't be done completely automatically, since it requires elevation, and it has to happen after every time a new version is installed. Assuming that your experience is generally shared by others, we'll be taking a look at the best way to integrate this more cleanly.

    Andrew, please find a way to automate this, even if there is a nag screen where you select a button that activates the code after each new install. 

    Mission: To serve God as He desires.

  • Benjamin Varghese
    Benjamin Varghese Member Posts: 149 ✭✭

    Why cannot logos installer detect the OS and not make the faster startup default?

  • Graham Criddle
    Graham Criddle Member, MVP Posts: 32,452 ✭✭✭

    In a post earlier in this thread Andrew did outline some technical issues in automating this but also said

    Assuming that your experience is generally shared by others, we'll be taking a look at the best way to integrate this more cleanly.

    Let's give them a bit of time to do that.[:)]

  • Rich DeRuiter
    Rich DeRuiter Member, MVP Posts: 6,729

    You don't need a batch file. Just create a shortcut on your desktop (right-click -> New -> Shortcut) to "%localappdata%\Logos\Logos.exe /ngen" (without parens).

    Copy that shortcut, Right-click -> properties and change /ngen to /unngen.

    Can you explain the reason for changing /ngen to /ungen

    Thanks

    EDIT: Never mind. I re-read the initial post and see that this is the process for undoing the /ngen process. [slaps forehead]

     Help links: WIKI;  Logos 6 FAQ. (Phil. 2:14, NIV)

  • James Taylor
    James Taylor Member Posts: 1,408 ✭✭✭

    "%localappdata%\Logos\Logos.exe /ngen"

    Like this?

    Logos 10  | Dell Inspiron 7373 | Windows 11 Pro 64, i7, 16GB, SSD | iPhone 13 Pro Max

  • Randy W. Sims
    Randy W. Sims Member Posts: 2,272

    "%localappdata%\Logos\Logos.exe /ngen"

    Like this?

    Yes, that looks right.

  • Jonathan Pitts
    Jonathan Pitts Member Posts: 670 ✭✭

    Why cannot logos installer detect the OS and not make the faster startup default?

    There should be an option not to do it. Logos already uses a vast amount of disk space. I'm not using Logos very much at the moment, and I am opting to save my disk space for other things.

    By the way, has anyone noted how much disk space NGen on Logos uses?

  • Randy W. Sims
    Randy W. Sims Member Posts: 2,272

    By the way, has anyone noted how much disk space NGen on Logos uses?

    Not much. I believe the compiled output are in "C:\Windows\Assmeby". Mine grows from 1.43GB to 1.78GB. There is no change in the size of the Logos folder.

  • Jonathan Pitts
    Jonathan Pitts Member Posts: 670 ✭✭

    By the way, has anyone noted how much disk space NGen on Logos uses?

    Not much. I believe the compiled output are in "C:\Windows\Assmeby". Mine grows from 1.43GB to 1.78GB. There is no change in the size of the Logos folder.

    Thank you. I may reconsider then.