[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #64961] Use 32-bit bytecode interpreter stack
From: |
Petter |
Subject: |
[Octave-bug-tracker] [bug #64961] Use 32-bit bytecode interpreter stack elements on 32-bit systems |
Date: |
Sat, 2 Dec 2023 09:17:18 -0500 (EST) |
URL:
<https://savannah.gnu.org/bugs/?64961>
Summary: Use 32-bit bytecode interpreter stack elements on
32-bit systems
Group: GNU Octave
Submitter: petter
Submitted: Sat 02 Dec 2023 02:17:16 PM UTC
Category: Interpreter
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: Performance
Status: None
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Release: dev
Discussion Lock: Any
Operating System: GNU/Linux
Fixed Release: None
Planned Release: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Sat 02 Dec 2023 02:17:16 PM UTC By: Petter <petter>
Mützel noted that the bytecode interpreter testsuite ran suspiciously slow on
a Alpine 32-bit buildbot.
https://octave.discourse.group/t/wip-stack-vm-for-octave/2884/176
This patch changes the stack element size on 32-bit systems to 32-bit instead
of 64-bit, which should speed 32-bit platforms up a bit.
It could not recreate the issue however on my Debian 32-bit VM. 'make check'
and 'make check-vm'
runs in about the same time (without and with the patch). Running through a VM
seem to introduce too much noise to benchmark the patch too, but smaller stack
elements should be fundamentally better.
However 'make check' and 'make check-vm' choked on 'quadcc.cc-tst' with or
with-out the patch, so I had to delete it to run the testsuite. The testsuite
takes 5 minutes without quadcc.cc-tst and with it, it didn't complete in an
hour.
Remove always 64-bit type fields in stack element union, to decrease
the memory footprint of the stack. Instead use octave_idx_type that
is 32-bits on 32-bit systems.
* pt-bytecode.h: (stack_element) Remove always 64-bit types.
Add octave_idx_type idx field instead.
* pt-bytecode-vm.cc: Use idx field where appropiate.
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Sat 02 Dec 2023 02:17:16 PM UTC Name: octave_32767.patch Size: 4KiB
By: petter
<http://savannah.gnu.org/bugs/download.php?file_id=55387>
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?64961>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Octave-bug-tracker] [bug #64961] Use 32-bit bytecode interpreter stack elements on 32-bit systems,
Petter <=