New Windows option in 7.9 Beta 1 to make Logos faster

135

Comments

  • Dave Hooton
    Dave Hooton MVP Posts: 35,674

    So ngen improved performance by 3%, which is well within the margin of error for a test like this.

    This is on an Intel i7-3770k with 32Gb RAM, and a Samsung 850 Evo SSD.

    From my post on page 1 of this thread, the improvement is c. 25% on a laptop with a 1 GB hard drive, 8 GB RAM & Intel i7-5500U (about 1 GHz slower than Mark's).

    Dave
    ===

    Windows 11 & Android 13

  • Dave Hooton
    Dave Hooton MVP Posts: 35,674

    What path? It should work if you point to ./Logos/System/Logos.exe

    Thanks Randy, I should have taken notice of your previous post.

    Dave
    ===

    Windows 11 & Android 13

  • Dave Hooton
    Dave Hooton MVP Posts: 35,674

    EDIT: The uninstall with full path failed --> "the specified assembly is not installed". Possibly because "Note: Starting with the .NET Framework 4, the action uninstall * is no longer supported."?

    And installing the other installation (v7.8 SR-1) also failed ---> "Failed to load the runtime" Exception 0x80131700.

    Both these worked OK when I used the correct path!  The Beta assembly folders were combined with those of the SR-1 assembly e.g. one Logos folder with two sub-folders, and uninstalling SR-1 left the Beta assembly (thankfully!).

    Dave
    ===

    Windows 11 & Android 13

  • Mark Barnes
    Mark Barnes Member Posts: 15,432 ✭✭✭

    - Searches run faster

    - Bible panels (usually with two translations paired up in multiview) initiate faster, and go to new BCV locations faster

    - Bible Browser left-side list of filter facets now populates in < 5 seconds (as opposed to spinning for a minute)

    - Library window more responsive

    I tried all this, and still see no real difference. A four-panel multiview takes around 5s, and Bible Browser about 3s, with or without ngen.

    This is my personal Faithlife account. On 1 March 2022, I started working for Faithlife, and have a new 'official' user account. Posts on this account shouldn't be taken as official Faithlife views!

  • abondservant
    abondservant Member Posts: 4,795

    So ngen improved performance by 3%, which is well within the margin of error for a test like this.

    This is on an Intel i7-3770k with 32Gb RAM, and a Samsung 850 Evo SSD.

    From my post on page 1 of this thread, the improvement is c. 25% on a laptop with a 1 GB hard drive, 8 GB RAM & Intel i7-5500U (about 1 GHz slower than Mark's).

    Certainly you mean TB not GB right? (emphasis in quote is mine)

    L2 lvl4 (...) WORDsearch, all the way through L10,

  • Dave Hooton
    Dave Hooton MVP Posts: 35,674

    Certainly you mean TB not GB right?

    Yes. Well caught.

    Dave
    ===

    Windows 11 & Android 13

  • Kevin A. Purcell
    Kevin A. Purcell Member Posts: 3,405 ✭✭✭

    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`

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

    Another window will pop-up and run some processes. It will look something like this:

    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

    I'm seeing nothing like the results shown above. First, I don't get a pop up of any kind and I see nothing in Command Prompt. After hitting enter it just shows C:\Users\kevin>

    Am I doing it wrong?

    Dr. Kevin Purcell, Director of Missions
    Brushy Mountain Baptist Association

    www.kevinpurcell.org

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

    Here is the way I run ngen:

    1) When I run CMD I right click on the shortcut and select "Run as administrator"  

    2) My User Account Control  settings are completely off which I believe eliminates the "Do you want to allow this app to make changes to your device?" prompt.  Depending on how your UAC settings are configured, you may or may not get the prompt.

    3)The following command is pasted into the command prompt and then executed:

    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe install C:\Users\username\AppData\Local\Logos\System\Logos.exe

    - Assumes you are using a 64 bit version of Windows

    - Assumes you will insert the proper user name from your computer

    - Can be run from any folder location in the Command prompt

    As I mentioned on the first page of this thread, I registered a 42% improvement in startup speed (i7 5960X oc'd to 4.2 GHz, 32 GB DDR4 ram, Samsung 960 Pro ssd (1TB), EVGA Nvidia 970).  Everything else certainly feels snappier but I cannot quantify it. 

    Hope this helps.

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

  • Paul Strickert
    Paul Strickert Member Posts: 335 ✭✭

    I've noticed a speedier response time in some areas.  One area that still astounds me for its sluggishness is opening a Bible.  I've got a shortcut to my preferred Bible on the top of the screen.  When I click it, it takes a good 3 seconds for the Bible to open.  Why is it not instantaneous?

  • Dave Hooton
    Dave Hooton MVP Posts: 35,674

    After hitting enter it just shows C:\Users\kevin>

    After the >  type C:\Users\kevin\AppData\Local\Logos\Logos.exe /ngen

     1. this is the default path. It could be totally different for a custom installation  e.g. E:\Logos\Logos.exe /ngen

     2. Your Logos folder name could be Logos4 or Logos5 (check C:\Users\kevin\AppData\Local for the name)

    Dave
    ===

    Windows 11 & Android 13

  • Mark Barnes
    Mark Barnes Member Posts: 15,432 ✭✭✭

    I've noticed a speedier response time in some areas.  One area that still astounds me for its sluggishness is opening a Bible.  I've got a shortcut to my preferred Bible on the top of the screen.  When I click it, it takes a good 3 seconds for the Bible to open.  Why is it not instantaneous?

    Probably because of visual filters.

    This is my personal Faithlife account. On 1 March 2022, I started working for Faithlife, and have a new 'official' user account. Posts on this account shouldn't be taken as official Faithlife views!

  • Paul Strickert
    Paul Strickert Member Posts: 335 ✭✭
  • Kevin A. Purcell
    Kevin A. Purcell Member Posts: 3,405 ✭✭✭

    After hitting enter it just shows C:\Users\kevin>

    After the >  type C:\Users\kevin\AppData\Local\Logos\Logos.exe /ngen

     1. this is the default path. It could be totally different for a custom installation  e.g. E:\Logos\Logos.exe /ngen

     2. Your Logos folder name could be Logos4 or Logos5 (check C:\Users\kevin\AppData\Local for the name)

    Thanks Dave. I did check to ensure that Logos.exe is in the default location. I know I didn't install it in a special place upon installation, but double checked and it was there but also in the subfolder labelled System. So I ran it on both locations.

    Dr. Kevin Purcell, Director of Missions
    Brushy Mountain Baptist Association

    www.kevinpurcell.org

  • Donnie Hale
    Donnie Hale Member Posts: 2,036

    2) My User Account Control  settings are completely off which I believe eliminates the "Do you want to allow this app to make changes to your device?" prompt.

    FYI: You may want to read point #13 on this page: https://decentsecurity.com/#/holiday-tasks/

    Donnie

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

    FYI: You may want to read point #13 on this page: https://decentsecurity.com/#/holiday-tasks/

    Donnie

    Thanks, Donnie, but I prefer to live 'dangerously' rather than have to listen to 6378.UAC Repeat.mp3 all day long.  [;)]

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

  • Donnie Hale
    Donnie Hale Member Posts: 2,036

    Thanks, Donnie, but I prefer to live 'dangerously'

    As long as you realize that settings like that are what allow malicious actors to find hosts from which to launch their distributed denial-of-service attacks. You can disable a sound setting. FWIW, I only get the UAC elevation prompt about 2-3 times per month. And I'm a software developer / development manager.

    -Donnie

  • Frank Sauer
    Frank Sauer Member Posts: 1,519 ✭✭✭

    Ran the utility and with an resource and tool intensive layout as default at open - less than 8 seconds to full open. Better with a less intensive layout.

    Logos 10 - OpenSuse Tumbleweed, Windows 11, Android 15 & Android 14

  • Ryan Gano (Logos)
    Ryan Gano (Logos) Community Manager, Logos Employee Posts: 409

    QUESTION:

    How do we get rid of previous assemblies as the new one doesn't remove the old one?

    Dave, I'm looking into this and I don't see old assemblies being kept around. I'd like to know what you're seeing so we can correct the issue.

    My steps (for comparison)

    1. Run logos.exe /ngen
    2. Run C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe display Logos
    3. Note that it has the current version on my system (7.9.0.6)
    4. Update to the new beta (for me this was 7.9.0.8)
    5. Run logos.exe /ngen
    6. Run C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe display Logos
    7. Note that it only shows a single assembly (7.9.0.8)

    There is an update command that can be run. I'm not exactly sure what it will do since I cannot reproduce the issue you're seeing.

  • Dave Hooton
    Dave Hooton MVP Posts: 35,674
    1. Run C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe display Logos
    2. Displays 7.9.0.8 (from 17/8 4.50pm)  and 7.8.0.37 (from 24/8 12:35pm)
    3. Update to the new beta (7.9.0.10)
    4. Run logos.exe /ngen
    5. Run C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe display Logos
    6. Displays 7.9.0.10 (from 24/8 1:04pm) and 7.8.0.37

    When I checked C:\Windows\assembly\NativeImages_v4.0.30319_64 I realised I had been mislead by the assembly timestamps i.e folders dated 17/8 4.50pm had sub-folders dated 24/8 whilst the rest of the assemblies were in folders dated 24/8 1.04pm. Total folder size was 428 MB vs. 445 MB.

    Dave
    ===

    Windows 11 & Android 13

  • abondservant
    abondservant Member Posts: 4,795

    Without ngen:

    OurApp Starting application (7.9 Beta 4, version 7.9.0.0010 x64 on Microsoft Windows NT 10.0.15063.0, .NET 4.0.30319.42000) at 1.511 seconds.

    7.8 was a little faster, but not much. maybe .1 or .2 seconds.

    With ngen:

    OurApp Starting application (7.9 Beta 4, version 7.9.0.0010 x64 on Microsoft Windows NT 10.0.15063.0, .NET 4.0.30319.42000) at 4.333 seconds
    Second run was about the same: 4.2
    Third was better: OurApp Starting application (7.9 Beta 4, version 7.9.0.0010 x64 on Microsoft Windows NT 10.0.15063.0, .NET 4.0.30319.42000) at 1.562 seconds
    Fourth
    OurApp Starting application (7.9 Beta 4, version 7.9.0.0010 x64 on Microsoft Windows NT 10.0.15063.0, .NET 4.0.30319.42000) at 1.115 seconds.

    Is this expected behavior?

    Initially thats a VERY significant slow down.

    AMD Ryzen 1800+ (well 1700 overclocked to the speed of an 1800), 16gb ddr4 running at 3100mhz. Logos lives on a samsung SSD 960 EVO NVMe M.2 500gb.
    Edit: more tests
    1.146
    2.419
    1.121
    3.466

    Running some search speed tests. searched "The" in Everything. took .71 before to search the ESV 61460 results in 23789 verses. Now it takes 2.37 seconds.

    Subsequent repeats of the same search were a little slower 2.41-2.9.





    L2 lvl4 (...) WORDsearch, all the way through L10,

  • abondservant
    abondservant Member Posts: 4,795

    I suppose at my speeds an additional second is tolerable, but still represents a significant slow down. I hope this is something we can opt out of if it makes it into the product down the line. Guessing it has to do with processor architecture?

    L2 lvl4 (...) WORDsearch, all the way through L10,

  • Ryan Gano (Logos)
    Ryan Gano (Logos) Community Manager, Logos Employee Posts: 409

    The times are going to be different for each user (and probably each run). It's very difficult to say whether it will always be faster because there are a lot of variables.

    According to the Microsoft site the expectation should be something along the lines of a normal startup speed on the first launch after a computer restart. On subsequent startups (until the machine is restarted, or enough memory is used that Logos is taken out of memory) load times should be faster than if you hadn't ngen'd.

    Essentially, ngening can be thought of as caching the loaded state of the app to the HD. In the non-ngen'd state the OS loads it every time. With ngen it only loads it once. (this is not a technical description and not actually what is happening but it is perhaps a simpler way to think about what's going on)

  • abondservant
    abondservant Member Posts: 4,795

    interesting. you would think on an M.2 with a theoretical max of 3.2gbps that sort of option would make a significant difference.

    L2 lvl4 (...) WORDsearch, all the way through L10,

  • Dave Hooton
    Dave Hooton MVP Posts: 35,674

    OurApp Starting application (7.9 Beta 4, version 7.9.0.0010 x64 on Microsoft Windows NT 10.0.15063.0, .NET 4.0.30319.42000) at 4.333 seconds

    I think it is more significant to know how long it takes to load the layout e.g.

       Info StartupUtility Finished startup at 10.14s.

    You can also see when it starts to load the layout (when the blank window appears) e.g.

       Info OurApp Showing main window at 2.809 seconds.

    They include the time for Starting application (0.268s in my case)

    Intel Core i7 5500U (2.4 GHz with boost to 3.0 GHz), 8gb ddr3, 1000 GB hard drive.

    Dave
    ===

    Windows 11 & Android 13

  • abondservant
    abondservant Member Posts: 4,795

    OurApp Starting application (7.9 Beta 4, version 7.9.0.0010 x64 on Microsoft Windows NT 10.0.15063.0, .NET 4.0.30319.42000) at 4.333 seconds

    I think it is more significant to know how long it takes to load the layout e.g.

       Info StartupUtility Finished startup at 10.14s.

    You can also see when it starts to load the layout (when the blank window appears) e.g.

       Info OurApp Showing main window at 2.809 seconds.

    They include the time for Starting application (0.268s in my case)

    Intel Core i7 5500U (2.4 GHz with boost to 3.0 GHz), 8gb ddr3, 1000 GB hard drive.

    Finished Startup: 30.39, 19.18, 18.04, 19.27
    Main Window: 21.9, 12.751, 11.9, 12.648

    Ran /unngen

    Finished Startup: 29.81, 23.71, 23.65, 24.22
    Main Window: 19.337, 15.3, 15.6, 15.9

    So it looks like it is consistently faster with ngen.

    L2 lvl4 (...) WORDsearch, all the way through L10,

  • Dave Hooton
    Dave Hooton MVP Posts: 35,674

    Finished Startup: 30.39, 19.18, 18.04, 19.27
    Main Window: 21.9, 12.751, 11.9, 12.648

    Ran /unngen

    Finished Startup: 29.81, 23.71, 23.65, 24.22
    Main Window: 19.337, 15.3, 15.6, 15.9

    Your time to Main Window is interesting as thereafter it takes about the same time as mine to load the layout (c. 9s).

    What is happening prior to Main Window?

    Dave
    ===

    Windows 11 & Android 13

  • abondservant
    abondservant Member Posts: 4,795

    050870.Logos.log

    Beware the fowl language. same log from my other post.

    Maybe my computer doesn't like processing the F word.

    L2 lvl4 (...) WORDsearch, all the way through L10,

  • Dave Hooton
    Dave Hooton MVP Posts: 35,674

    Comparing log events before Main Window I found the reasons for the difference (12.7s vs 3.2s for me).

    • Creating library catalog.  0.3s  vs 2.0s ---> + 1.7s
    • Creating New Sync Manager  0.2s vs 0.9s  ---> + 0.7s
    • Creating Resource Lists  0.34s vs 2.18s   ----> + 1.8s
    • Startup step: StartPostSetFactoryServicesWork 0.6s  v 3.6s  ---> + 3.0s
    • Startup step: StartFirstSync  0.0s vs 2.3s    ----> + 2.3s    because your Starting layout is Most recent - Any

    Total difference = + 9.5s

    Faithlife can explain the items I highlighted, but:

    • using Most recent - Local will save time by postponing First Sync until after your layout has loaded
    • how many resources do you have?

    Dave
    ===

    Windows 11 & Android 13