[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Realtime cost of call by value
From: |
taltman |
Subject: |
Re: Realtime cost of call by value |
Date: |
Thu, 30 Oct 2003 17:36:49 -0800 (PST) |
Is there anyway to modularize the main source of Octave so that it
doesn't take 25 minutes per build?
~Tomer
On Oct 30, 2003 at 6:14pm, Glenn Golden wrote:
gdg >Date: Thu, 30 Oct 2003 18:14:18 -0700
gdg >From: Glenn Golden <address@hidden>
gdg >To: John W. Eaton <address@hidden>
gdg >Cc: address@hidden
gdg >Subject: Re: Realtime cost of call by value
gdg >Resent-Date: Thu, 30 Oct 2003 19:14:20 -0600
gdg >Resent-From: address@hidden
gdg >
gdg >"John W. Eaton" writes:
gdg >>
gdg >> Yes. Look at the way the corresponding matrix_value function is
gdg >> defined.
gdg >>
gdg >
gdg >I declared
gdg >
gdg > virtual Matrix& matrix_reference (void) const
gdg > { return rep->matrix_reference (); }
gdg >
gdg >in ov.h, but now the DLD segfaults at
gdg >
gdg > Matrix& a = val.matrix_reference();
gdg >
gdg >in what appears to be infinite recursion calling the inline in the
gdg >above virtual decl. Or at least, it appears to _not_ be calling
gdg >Matrix::matrix_reference() in dMatrix.cc:
gdg >
gdg >---
gdg > octave-2.1.50G1:1> global foo; foo = rand(2);
gdg > octave-2.1.50G1:2>
gdg > octave-2.1.50G1:2> hack
gdg >
gdg > Program received signal SIGSEGV, Segmentation fault.
gdg > 0x402d2677 in octave_value::matrix_reference (this=0x898bd10)
gdg > at ov.h:474 { return rep->matrix_reference (); }
gdg >
gdg > (gdb) bt
gdg > #0 0x402d2677 in octave_value::matrix_reference (this=0x898bd10) at
ov.h:474
gdg >
gdg > #1 0x402d2681 in octave_value::matrix_reference (this=0x89eaa28) at
ov.h:474
gdg >
gdg > #2 0x40d55411 in hmmm4 () at hack.cc:160
gdg >
gdg > #3 0x40d538e3 in Fhack (address@hidden) at hack.cc:42
gdg >---
gdg >
gdg >(ov.h:474 is the inline from virtual matrix_reference () decl. above.)
gdg >
gdg >In frames #0 and #1, the "this"s seem vaguely sensible:
gdg >
gdg > (gdb) p *(octave_value *)0x89eaa28
gdg >
gdg > $2 = {{rep = 0x898bd10, count = 144227600},
gdg > static curr_print_indent_level = 0, static beginning_of_line =
true,
gdg > static allocator = {head = 0x893ccc8, grow_size = 1024, item_size =
8},
gdg > _vptr.octave_value = 0x403eb900}
gdg >
gdg >
gdg >
gdg > (gdb) p *(octave_matrix *)0x898bd10
gdg >
gdg > $4 = {<octave_base_matrix<Matrix>> =
gdg > {<octave_base_value> = {<octave_value> = {
gdg > {rep = 0x1, count = 1}, static curr_print_indent_level = 0,
gdg > static beginning_of_line = true, static allocator = {head =
0x893ccc8,
gdg > grow_size = 1024, item_size = 8}, _vptr.octave_value = 0x403e9ea0},
gdg > static t_id = 0, static t_name = {static npos = 4294967295,
gdg > static nilRep = {len = 0, res = 0, ref = 16694, selfish = false},
gdg > dat = 0x8056a78 "<unknown type>"}},
gdg > matrix = {<MArray2<double>> = {<Array2<double>> = {<Array<double>>
= {
gdg > idx = 0x0, max_indices = 2, idx_count = 0, rep = 0x8a26930},
gdg > d1 = 2, d2 = 2}, <No data fields>}, <No data fields>}},
gdg > static allocator = {head = 0x898bd30, grow_size = 256, item_size =
32},
gdg > static t_id = 4, static t_name = {static npos = 4294967295,
gdg > static nilRep = { len = 0, res = 0, ref = 16694, selfish = false},
gdg > dat = 0x80569f8 "matrix"}}
gdg >
gdg >
gdg >Doing my best, but the supply of bananas is running now. At 25 min/build,
gdg >it's a slow go. On the plus side, I'm learning a little more about C++...
gdg >
gdg >Glenn
gdg >
gdg >
gdg >
gdg >-------------------------------------------------------------
gdg >Octave is freely available under the terms of the GNU GPL.
gdg >
gdg >Octave's home on the web: http://www.octave.org
gdg >How to fund new projects: http://www.octave.org/funding.html
gdg >Subscription information: http://www.octave.org/archive.html
gdg >-------------------------------------------------------------
gdg >
gdg >
-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.octave.org
How to fund new projects: http://www.octave.org/funding.html
Subscription information: http://www.octave.org/archive.html
-------------------------------------------------------------
- Re: Realtime cost of call by value, (continued)
- Re: Realtime cost of call by value, Glenn Golden, 2003/10/29
- Re: Realtime cost of call by value, John W. Eaton, 2003/10/29
- Re: Realtime cost of call by value, Glenn Golden, 2003/10/29
- Re: Realtime cost of call by value, John W. Eaton, 2003/10/29
- Re: Realtime cost of call by value, Glenn Golden, 2003/10/30
- Re: Realtime cost of call by value, John W. Eaton, 2003/10/30
- Re: Realtime cost of call by value, taltman, 2003/10/30
- Re: Realtime cost of call by value, John W. Eaton, 2003/10/30
- Re: Realtime cost of call by value, pkienzle, 2003/10/31
- Re: Realtime cost of call by value, Glenn Golden, 2003/10/30
- Re: Realtime cost of call by value,
taltman <=
- Re: Realtime cost of call by value, John W. Eaton, 2003/10/30
Re: Realtime cost of call by value, Glenn Golden, 2003/10/30
- Re: Realtime cost of call by value, taltman, 2003/10/31
- Re: Realtime cost of call by value, John W. Eaton, 2003/10/31
- Re: Realtime cost of call by value, taltman, 2003/10/31
- Re: Realtime cost of call by value, John W. Eaton, 2003/10/31
- Re: Realtime cost of call by value, taltman, 2003/10/31
- Re: Realtime cost of call by value, John W. Eaton, 2003/10/31
- Re: Realtime cost of call by value, John W. Eaton, 2003/10/31
- Re: Realtime cost of call by value, Francesco Potorti`, 2003/10/31