From: Rod Kay <rodakay5@gmail.com>
Subject: Re: Real_Arrays on heap with overloaded operators and clean syntax
Date: Mon, 23 Jan 2023 17:34:06 +1100 [thread overview]
Message-ID: <tql9oc$3gtgn$1@dont-email.me> (raw)
In-Reply-To: <tqkh64$39v71$4@dont-email.me>
On 23/1/23 10:34, Rod Kay wrote:
> On 23/1/23 10:20, Jim Paloander wrote:
>>>> Dear ADA lovers,
>>>> with stack allocation of Real_Vector ( 1 .. N ) when N >= 100,000 I
>>>> get STACK_OVERFLOW ERROR while trying to check how fast operator
>>>> overloading is working for an expression
>>>>
>>>> X := A + B + C + C + A + B, where
>>>> A,B,C,X are all Real_Vector ( 1 .. N ).
>>>>
>>>> So my only option was to allocate on the heap using new. But then I
>>>> lost the clean syntax
>>>>
>>>> X := A + B + C + C + A + B
>>>>
>>>> and I had to write instead:
>>>>
>>>> X.all := A.all + B.all + C.all + C.all + A.all + B.all.
>>>>
>>>> This is really ugly and annoying because when you are using
>>>> Real_Arrays for implementing some linear algebra method who relies
>>>> heavilly on matrix vector products and vector updates, you do need
>>>> to allocate on the heap (sizes are determined in runtime) and you do
>>>> need a clean syntax. So, is there any way to simplify my life
>>>> without using the .all or even without declaring A,B,C,X as access
>>>> Real_Vector?
>>>> Thanks for your time!
>>> If you are on linux, then you could set the stack size with
>>>
>>> $ ulimit -s unlimited
>>> $ launch_my_app
>>>
>>>
>>>
>>> Regards.
>> On Windows 10 with mingw64?
>
> Not sure. I don't have a windows machine.
>
> What happens when try ?
>
> $ ulimit -a
ulimit is available on cygwin.
It is not available on mingw64 then ?
next prev parent reply other threads:[~2023-01-23 6:34 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-22 21:34 Real_Arrays on heap with overloaded operators and clean syntax Jim Paloander
2023-01-22 21:56 ` Joakim Strandberg
2023-01-22 22:07 ` Jim Paloander
2023-01-22 22:42 ` Joakim Strandberg
2023-01-22 22:49 ` Jim Paloander
2023-01-22 23:11 ` Joakim Strandberg
2023-01-22 23:14 ` Gautier write-only address
2023-01-23 1:14 ` Leo Brewin
2023-01-23 6:01 ` Jim Paloander
2023-01-23 8:39 ` G.B.
2023-01-22 22:13 ` Dmitry A. Kazakov
2023-01-22 22:36 ` Jim Paloander
2023-01-23 8:28 ` Dmitry A. Kazakov
2023-01-24 1:04 ` Jim Paloander
2023-01-24 10:42 ` J-P. Rosen
2023-01-25 9:52 ` Jim Paloander
2023-01-25 12:21 ` J-P. Rosen
2023-01-25 22:41 ` Gautier write-only address
2023-01-26 19:08 ` Jim Paloander
2023-01-22 23:18 ` Rod Kay
2023-01-22 23:20 ` Jim Paloander
2023-01-22 23:34 ` Rod Kay
2023-01-22 23:53 ` Joakim Strandberg
2023-01-23 7:50 ` Egil H H
2023-01-23 8:51 ` J-P. Rosen
2023-01-23 6:34 ` Rod Kay [this message]
2023-01-23 6:56 ` Jim Paloander
2023-01-23 7:31 ` Rod Kay
2023-01-24 19:47 ` Gautier write-only address
2023-01-24 23:02 ` Gautier write-only address
2023-01-25 9:50 ` Jim Paloander
2023-01-26 20:39 ` Jerry
2023-01-26 21:52 ` Jim Paloander
2023-02-02 21:59 ` Jerry
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox