5.3 Beta 1 Warning

Bradley Grainger (Logos)
Bradley Grainger (Logos) Administrator, Logos Employee Posts: 11,950

Now that 5.2b RC1 has been released, we're preparing for the release of 5.3 Beta 1 (which is not available yet but coming soon).

5.3 Beta 1 has a lot of major changes under-the-hood, and could potentially be unstable. These changes don't dramatically impact the UI, but are laying the foundation for future improvements in performance, scalability and functionality.

We recommend caution when installing this beta; as the beta testing warnings already state, it should be installed on a dedicated testing computer. We've been running these changes internally for several months without problems, but your system may be sufficiently different from our test computers that you could experience crashes or other problems.

If you don't want to be an early beta tester, you may wish to run "set update channel to default" right now to ensure that your system doesn't automatically download the beta.

Note that as previously announced] (and then amended for OS X 10.8) Logos 5.3 requires Windows 7 SP1 or Mac OS X 10.9 or later.

Here's what's changing:

  • 64 Bit. Logos is now a 64-bit program (for all Mac users, and for most Windows users). There isn't a separate installer; the program will automatically install the 64-bit version if your OS is capable of running it.
  • Code rewrite. A core component was rewritten in C# and native C++ for greater cross-platform support and performance. This has introduced a large amount of completely new code.
  • Memory-mapped I/O. Many Logos databases are now accessed through a technology known as "memory-mapped I/O"; while this should be faster, it's completely new code.
  • Logos resource display. The internals of the resource display were rewritten to support EXCITING NEW FEATURE.
  • New C++ compilers. The code is now compiled with the newest C++ compilers on both Windows and Mac.

The goal of these changes is to improve the foundation of Logos 5 without changing the user experience. However, since this is introducing a lot of completely new code, there may be (potentially significant) regressions. Please install with caution.

«13

Comments

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

    Greetings Bradley;

    I am looking forward to testing this. A question I have is bullet point 4, which was answered by highlighting the line. [:)]

  • William Gabriel
    William Gabriel Member Posts: 1,091

    That all sounds exciting--you're actually enticing me to join the beta channel!

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

    This is great news. The willingness to do refactoring is always a positive sign. (And I'm looking forward to the exciting new feature, too! [:)])

    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!

  • Lee
    Lee Member Posts: 2,714

    While I don't dabble in the beta versions, this announcement is very encouraging to me. To think it was under wraps for a few months. Well done!

  • abondservant
    abondservant Member Posts: 4,795

    Excited about this :)

    Any plans for multi-threaded codes to take advantage of multi-core processors?

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

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

    Hi Bradley

    Sounds exciting, looking forward to it.

    Graham

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

    Any plans for multi-threaded codes to take advantage of multi-core processors?

    Logos is already multi-threaded.

    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!

  • Bradley Grainger (Logos)
    Bradley Grainger (Logos) Administrator, Logos Employee Posts: 11,950

    Any plans for multi-threaded codes to take advantage of multi-core processors?

    The app has been multithreaded since the launch of Logos 4.0; is there some specific use case where you think it could use more cores?

    I have a 12-core CPU, so 79% means that 9 of them are maxed out. [:)]

    (Note that Windows and WPF only allow a single thread to manipulate UI elements. Thus, even though the app generates all the guide sections in parallel in the background, it's bottlenecked on the UI thread to display them to you. This isn't something we can easily work around.)

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

    Wow! +1 on all those points. That's an impressive amount of work for a point release. I realize some of those changes were probably forked a while back, but that's still an impressive turnaround. Looking forward to breaking it soon. [:)]

  • abondservant
    abondservant Member Posts: 4,795

    Any plans for multi-threaded codes to take advantage of multi-core processors?

    The app has been multithreaded since the launch of Logos 4.0; is there some specific use case where you think it could use more cores?

    I have a 12-core CPU, so 79% means that 9 of them are maxed out. Smile

    (Note that Windows and WPF only allow a single thread to manipulate UI elements. Thus, even though the app generates all the guide sections in parallel in the background, it's bottlenecked on the UI thread to display them to you. This isn't something we can easily work around.)

    Nice. I've never seen utilization that high - even during indexing on my octocore. Just assumed you were not doing that yet.



    though on start, I've seen it spike to 30% and the indexer uses up to 45% apparently.

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

  • abondservant
    abondservant Member Posts: 4,795

    Should we take some pre-x64 benchmarks to see if there is any change?

    Maybe search for: The NEAR And

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

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

    Logos is now a 64-bit program

    Cheeky request: How about you can remove the 100 page export limit so we can fully test how Logos handles high RAM demands?

    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!

  • William Gabriel
    William Gabriel Member Posts: 1,091

    Logos is now a 64-bit program

    Cheeky request: How about you can remove the 100 page export limit so we can fully test how Logos handles high RAM demands?

    They could make it a command to unlock that feature: "ipromisenottoinfringecopyrightthisisonlyforspaceshifting"

  • Dan Francis
    Dan Francis Member Posts: 5,335 ✭✭✭

    It sounds very exciting... I have limited space on my MacBook Pro so I will not be doing the beta.. but can hardly wait till the new 64 bit stable version of Verbum to get released... This beta would lead me to believe the 5.3 will be only a few weeks or couple months at the most off. Good Luck, and thanks for the hard work.

    -Dan

  • Bohuslav Wojnar
    Bohuslav Wojnar Member Posts: 3,466

    Sounds exciting. I am going to create a new Windows User Account to be able to test this new Beta. Thanks Bradley for the announcement.

    Bohuslav

  • Bill Moore
    Bill Moore Member Posts: 974 ✭✭

    I won't mess with the 5.3 beta 1 but I love where this is heading. I like L5 on my retina MBP since the last update, but 5.3 sounds like a major bump.

    Pastor, Cornerstone Baptist Church, Clinton, SC

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

    New C++ compilers. The code is now compiled with the newest C++ compilers on both Windows and Mac.

    Meaning, not fully debugged[:D].

    Do these apply to the 32-bit Windows version?

    64 Bit. Logos is now a 64-bit program (for all Mac users, and for most Windows users).

    Exciting.

    How much extra disk space will a 64-bit installation now require e.g. 20%, 30%, or more?

    Memory-mapped I/O. Many Logos databases are now accessed through a technology known as "memory-mapped I/O"; while this should be faster, it's completely new code.

    It's encouraging that you have been running the code for several months without problems. I'm reading the disadvantages at http://sqlite.org/mmap.html:-

    • Do #1 and #2 affect automatic recovery of corrupt databases?
    • Any impact of #3?
    • Does #5 mean that db's cannot be truncated on the drive because of this unused space?

    Will "Out of memory" exceptions be likely with this new feature?

    Will this exception be less likely to occur in WPF/.NET, and does it ask for a larger contiguous block of address space with a 64-bit app?

    Will we have to re-index resources for 64-bit (or because of SQLite)?

    Dave
    ===

    Windows 11 & Android 13

  • Mr. Simple
    Mr. Simple Member Posts: 546 ✭✭

    Regarding multi-threaded operations on indexing.

    I know in the past that function has been throttled to 4 threads due to assumptions about disk and SSD performance.

    Technology on that front continues to rapidly advance.

    Would logos consider re-visiting that issue and allow for more concurrent processing when the I/O subsystems can sustain that?

    I have a PCI plug SSD which bypasses latency and throughput limits of SATA.

    Just an thought

  • Bradley Grainger (Logos)
    Bradley Grainger (Logos) Administrator, Logos Employee Posts: 11,950

    Meaning, not fully debuggedBig Smile.

    Do these apply to the 32-bit Windows version?

    Yes; all of the changes (except, of course, 64-bit binaries) apply to the 32-bit Windows version.

    How much extra disk space will a 64-bit installation now require e.g. 20%, 30%, or more?

    About 10% (that's the binary files in the "System" folder).

    It's encouraging that you have been running the code for several months without problems. I'm reading the disadvantages at http://sqlite.org/mmap.html:-

    • Do #1 and #2 affect automatic recovery of corrupt databases?
    • Any impact of #3?
    • Does #5 mean that db's cannot be truncated on the drive because of this unused space?

    • #1 is mitigated by the fact that Logos 5 is primarily managed code (i.e., .NET) so stray pointers are exceedingly rare. #2 is a non-issue because the .NET wrapper for SQLite converts SQLite's recoverable disk I/O errors into unrecoverable exceptions anyway. On the whole, this won't impact automatic recovery.
    • None is expected. Although Logos and the Indexer can run simultaneously, they're basically never updating the same files. In the case where the Indexer is updating shared files, Logos puts up the "Preparing your library" screen and waits for it to finish.
    • DBs will not be truncated, but the space inside them will be used more efficiently when the "VACUUM" command is used. We don't see this as a big problem because generally our databases only ever grow in size.

    Will "Out of memory" exceptions be likely with this new feature?

    We'll have to wait and see, but I expect that they will be greatly reduced.

    Will this exception be less likely to occur in WPF/.NET, and does it ask for a larger contiguous block of address space with a 64-bit app?

    That's really an implementation detail of the Microsoft .NET JITter and GC, so I can't say for sure one way or the other.

    Will we have to re-index resources for 64-bit (or because of SQLite)?

    No.

  • Bradley Grainger (Logos)
    Bradley Grainger (Logos) Administrator, Logos Employee Posts: 11,950

    Would logos consider re-visiting that issue and allow for more concurrent processing when the I/O subsystems can sustain that?

    Yes, we want to revisit this, but it won't be in 5.3 Beta 1.

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

    Thanks for the information, Bradley.

    Will this exception be less likely to occur in WPF/.NET, and does it ask for a larger contiguous block of address space with a 64-bit app?

    That's really an implementation detail of the Microsoft .NET JITter and GC, so I can't say for sure one way or the other.

    I was referring to a previous post and wondering if .NET allocates more than 150 MB for a 64-bit app.

    Dave
    ===

    Windows 11 & Android 13

  • Jack Caviness
    Jack Caviness Member, MVP Posts: 13,487 ✭✭✭

    I am going to create a new Windows User Account to be able to test this new Beta.

    Well, I won't do a new Windows User Account, but am creating a new boot partition for Mac OS 10.9 [;)]

  • I am going to create a new Windows User Account to be able to test this new Beta.

    Well, I won't do a new Windows User Account, but am creating a new boot partition for Mac OS 10.9 Wink

    For Windows 7, my older laptop will initially have stable Logos 5.2b & Verbum 5.2b while newer laptop has beta 5.3 with both laptops using SSD's (with write speed greater than 500 MB/sec).

    For OS X, am downloading OS X Yosemite Beta 1 for beta use of Logos 5.3 & Verbum 5.3; downloading 5.07 GB takes many hours.  Thankful for new SSD in 27" iMac.

    Public OS X Yosemite Beta 1 => http://www.idownloadblog.com/2014/07/24/public-yosemite-beta-fix/ is available.

    Looking forward to trying Yosemite's dark theme => http://www.idownloadblog.com/2014/06/17/how-to-dark-mode-yosemite-beta-2/ while dreaming about theme(s) for Logos and Verbum => https://logos.uservoice.com/forums/42823-logos-bible-software-5/suggestions/6120060-add-themes-to-personalize-colors-colours-and-impro 

    Keep Smiling [:)]

  • Jacob Hantla
    Jacob Hantla Member, MVP Posts: 3,871 ✭✭✭

    Logos is now a 64-bit program

    Cheeky request: How about you can remove the 100 page export limit so we can fully test how Logos handles high RAM demands?

    [Y]

    Jacob Hantla
    Pastor/Elder, Grace Bible Church
    gbcaz.org

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

    I had been thinking about more memory, but now I will upgrade from 4 GB to 8 GB on laptop with SSD.

    Dave
    ===

    Windows 11 & Android 13

  • JT (alabama24)
    JT (alabama24) Member, MVP Posts: 36,470 ✭✭✭

    Are we days or weeks away? Inquiring minds want to know. [:)]

    macOS, iOS & iPadOS | Logs |  Install

  • Todd Phillips
    Todd Phillips Member Posts: 6,733 ✭✭✭

    Are we days or weeks away? Inquiring minds want to know. Smile

    My guess is that we're just waiting for 5.2b to be released.  Stop finding bugs in the release candidates, people! [:P]

    MacBook Pro (2019), ThinkPad E540

  • JohnB
    JohnB Member Posts: 1,085

    Stop finding bugs in the release candidates, people!

    [Y]