bugGNU Octave - Bugs: bug #64961, Use 32-bit bytecode interpreter...

 
 

bug #64961: Use 32-bit bytecode interpreter stack elements on 32-bit systems

Submitter:  Petter <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:  Open/Closed:  * Open
Release:  * dev Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Sat 09 Mar 2024 10:43:22 PM UTC, comment #1: 

Merging the patch to latest.



(file #55817)

Petter <petter>
Sat 02 Dec 2023 02:17:16 PM UTC, original submission:  

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.


Petter <petter>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #55817:  33374.patch added by petter (4KiB - text/plain)
file #55387:  octave_32767.patch added by petter (4KiB - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by petter (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2024-03-09 petter Attached File- Added 33374.patch, #55817
    2023-12-02 petter Attached File- Added octave_32767.patch, #55387

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code