New Windows option in 7.9 Beta 1 to make Logos faster

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
Comments
-
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
0 -
PL said:
- I didn't get the UAC message in step 2 (probably because I'm running an admin account)
That sounds pretty plausible.
PL said:- 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.
PL said:- Note also the warning messages about Methods Not Found in the middle, see attached file
This is not a problem.
PL said:- 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.
PL said:- 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.
PL said: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
0 -
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.
0 -
Glad to hear that this is working out really well for you!
PL said: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
PL said: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
0 -
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
0 -
[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)
0 -
Philana R. Crouch said:
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.
Sarcasm is my love language. Obviously I love you.
0 -
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)
0 -
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
0 -
Philana R. Crouch said:
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
0 -
Mark Smith said:
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
0 -
Adam Olean said:
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
0 -
JRS said:
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
0 -
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.
0 -
Jonathan Pitts said:
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.
0 -
Jonathan Pitts said:
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
0 -
Erwin Stull, Sr. said:
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
0 -
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
0 -
You're trying to save it with the wrong name. When you save it save it as LOGOSNGEN.CMDJames Taylor said:That should do it. As it stands your filename has slashes and such that means it's a path.
Sarcasm is my love language. Obviously I love you.
0 -
James Taylor said:
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.
0 -
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.
0 -
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.
0 -
Why cannot logos installer detect the OS and not make the faster startup default?
0 -
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.[:)]
0 -
Randy W. Sims said:
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)
0 -
Logos 10 | Dell Inspiron 7373 | Windows 11 Pro 64, i7, 16GB, SSD | iPhone 13 Pro Max
0 -
0
-
Peter Lever said:
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?
0 -
Jonathan Pitts said:
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.
0 -
Randy W. Sims said:
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.
0 -
N
Hi
does this only work with the beta only.?
Would like to try with the standard stable version
Mick
0 -
Michael said:
does this only work with the beta only.?
Sorry this is only available with the beta release
0 -
Michael said:
does this only work with the beta only.?
Would like to try with the standard stable version
If you can locate the ngen program, you can run it directly rather than using the Logos command line parameter.
A clue to its location can be found in the title bar of the third screenshot of the initial post.
Microsoft documentation for the ngen tool is here: https://docs.microsoft.com/en-us/dotnet/framework/tools/ngen-exe-native-image-generator
You'll want to use the install action.
Andrew Batishko | Logos software developer
0 -
If you can locate the ngen program, you can run it directly rather than using the Logos command line parameter.
A clue to its location can be found in the title bar of the third screenshot of the initial post.
Microsoft documentation for the ngen tool is here: https://docs.microsoft.com/en-us/dotnet/framework/tools/ngen-exe-native-image-generator
You'll want to use the install action.
Assuming the Logos command line parameter simply invokes ngen with the right parameters, someone on the beta program could use task manager or similar to grab the ngen command line that Logos invokes and post that here in the forum. I'm not on the beta program.
Donnie
0 -
Randy W. Sims said:
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.
Great! Thanks. I LOVE this new speed.
0 -
Other than faster load time with NGen, if I don't often re-open Logos, is there actually a penalty for using NGen, as JIT compiled code is actually faster than NGen once methods are compiled? I will fiddle with this.
0 -
Just about every aspect of the program is noticeably faster.
I haven't been this excited about the speed of Logos in a long time (since Logos 4).
Peter
0 -
Hi
Got it installed , working with standard stable version. l am not using beta version
It is definitely faster on startup and lightning fast with searches
Is there any particular search test you would like me to do
Mick[:)]
0 -
Hi
I've just checked the log file ngen
This is what I'm getting
08/08/2017 14:43:30.290 [6772]: Command line: C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe install
\Users\Mick\AppData\Local\Logos\Logos.exe/ngen
08/08/2017 14:43:30.311 [6772]: Uninstalling assembly\Users\Mick\AppData\Local\Logos\Logos.exe/ngen because of an error during compilation: The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047).
08/08/2017 14:43:30.312 [6772]: The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)
08/08/2017 14:43:30.312 [6772]: ngen returning 0xffffffffWhat am I doing wrong
mick
0 -
Wrong Logos.exe. Point to the one in Logos\System.
Also. Use the 64 bit version in Framework64 director.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe install
\Users\Mick\AppData\Local\Logos\System\Logos.exe
0 -
Command line should be:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe install
\Users\Mick\AppData\Local\Logos\Logos.exe
Andrew Batishko | Logos software developer
0 -
hi
Thanks for the info
Still getting an error for the path for some reason
been driving me nuts
08/08/2017 15:06:28.613 [12228]: Command line: C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe install
\Users\Mick\AppData\Local\Logos\Logos.exe
08/08/2017 15:06:28.633 [12228]: Uninstalling assembly\Users\Mick\AppData\Local\Logos\Logos.exe because of an error during compilation: Failed to load the runtime. (Exception from HRESULT: 0x80131700).
08/08/2017 15:06:28.634 [12228]: Failed to load the runtime. (Exception from HRESULT: 0x80131700)
08/08/2017 15:06:28.634 [12228]: ngen returning 0xffffffffAlso tried the
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe install
\Users\Mick\AppData\Local\Logos\System\Logos.exe
This line did bring up the command box
but still giving the same error
0 -
Hi
Got it installed okay now switched off all background applications and Switched off antivirus program
then we ran the command everything is good
thank you for your help
now we'll see how it flies[:)]
2017 15:09:48.531 [8708]: Command line: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe install
\Users\Mick\AppData\Local\Logos\System\Logos.exe
/* removed unnecessary lines */
08/08/2017 15:17:09.092 [2592]: ngen returning 0x000000000 -
-
I'm not on the Beta program, but will this work with my Logos Now/latest Logos 7 release?
Also, OK with my aging WIN7 i3 PC?
Perhaps wait for this to be somewhat implemented in an upcoming Logos release?
Thanks for any thoughts!
0 -
Steve Farson said:
I'm not on the Beta program, but will this work with my Logos Now/latest Logos 7 release?
Also, OK with my aging WIN7 i3 PC?
Perhaps wait for this to be somewhat implemented in an upcoming Logos release?
Thanks for any thoughts!
Hi Steve,
This is currently in the Beta cycle for 7.9. Once 7.9 ships to all stable users it will be available to all non-beta users. It should work with your older PC.
0 -
Philana R. Crouch said:
It should work with your older PC.
It seems to depend on the version of .NET. Does Win 7 have the same version as Win 10?
Dave
===Windows 11 & Android 13
0 -
Just installed on stable version. So far very pleased with results! [Y]
0 -
Command line should be:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe install
\Users\Mick\AppData\Local\Logos\Logos.exe
For 64-bit Logos use C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe install
\Users\Mick\AppData\Local\Logos\Logos.exe
QUESTION:
How do we get rid of previous assemblies as the new one doesn't remove the old one?
Dave
===Windows 11 & Android 13
0 -
Dave Hooton said:
QUESTION:
How do we get rid of previous assemblies as the new one doesn't remove the old one?
Thanks for letting us know. We'll look at ensuring that this gets properly cleaned up. Until then, you should be able to manually clean up the old versions by directly uninstalling by assembly rather than filename. Something like:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe uninstall Logos
Andrew Batishko | Logos software developer
0