|
Post by Carl Gundel on Jun 7, 2020 14:09:22 GMT -5
Liberty BASIC v5.0 is approximately 4x to 5x faster than LB 4.5.1 running on 32-bit Windows, depending on what sort of code is running.
If you compared, the 64-bit version of Liberty BASIC on Windows is actually about 75% as fast as the 32-bit version. This is not really unexpected. The problem with longer words is that you end up moving a lot more memory around for many things, and you also waste memory.
|
|
|
Post by Chris Iverson on Jun 7, 2020 16:30:55 GMT -5
Yeah, I was doing some profiling of the Linux builds to figure out why it can't find the sqlite library automatically(and I think I actually have figured that out, but that's a separate post), and I was astounded at how much time it spends moving memory around itself. While I was profiling, the call tracer recorded 104,150 library/system calls, and literally just over 50k of them were moving memory around. I mean, look at this:
|
|
|
Post by Carl Gundel on Jun 7, 2020 17:24:40 GMT -5
Yeah, I was doing some profiling of the Linux builds to figure out why it can't find the sqlite library automatically(and I think I actually have figured that out, but that's a separate post), and I was astounded at how much time it spends moving memory around itself. While I was profiling, the call tracer recorded 104,150 library/system calls, and literally just over 50k of them were moving memory around. I mean, look at this: Object oriented systems that use generational scavenging garbage collections are constantly copying objects between spaces. It might seem inefficient, but compared to mark and sweep GC it is incredibly faster.
|
|