473,401 Members | 2,146 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,401 software developers and data experts.

Arrays and IE

I've noticed that IE apparently has a horrible implementation of the
array object, since traversing one with as few as 1000 items it tends
to pop up a dialog informing the user that the script is taking too
long. I tried splitting the array into a 10x100 two-dimensional array
as well as changing the array to a linked list, but neither improved
the code's efficiency sufficiently. Can anyone suggest methods for
optimizing array efficiency, or some other workaround for yet another
one of Bill Gates' blunders?

--
Christopher Benson-Manica | I *should* know what I'm talking about - if I
ataru(at)cyberspace.org | don't, I need to know. Flames welcome.
Jul 23 '05 #1
13 1326
> I've noticed that IE apparently has a horrible implementation of the
array object, since traversing one with as few as 1000 items it tends
to pop up a dialog informing the user that the script is taking too
long. I tried splitting the array into a 10x100 two-dimensional array
as well as changing the array to a linked list, but neither improved
the code's efficiency sufficiently. Can anyone suggest methods for
optimizing array efficiency, or some other workaround for yet another
one of Bill Gates' blunders?


Do the work on the server.
Jul 23 '05 #2
Douglas Crockford <no****@covad.net> spoke thus:
Do the work on the server.


It's an option, but we've decided not to do it in order to reduce the
amount of markup our users must download.

--
Christopher Benson-Manica | I *should* know what I'm talking about - if I
ataru(at)cyberspace.org | don't, I need to know. Flames welcome.
Jul 23 '05 #3
Christopher Benson-Manica wrote:
I've noticed that IE apparently has a horrible implementation of the
array object, since traversing one with as few as 1000 items it tends
to pop up a dialog informing the user that the script is taking too
long. I tried splitting the array into a 10x100 two-dimensional array
as well as changing the array to a linked list, but neither improved
the code's efficiency sufficiently. Can anyone suggest methods for
optimizing array efficiency, or some other workaround for yet another
one of Bill Gates' blunders?


What type of objects are in the array?
Mick
Jul 23 '05 #4
Mick White <mw***********@rochester.rr.com> spoke thus:
What type of objects are in the array?
Mick


Some objects that have 5 or 6 strings as members.

--
Christopher Benson-Manica | I *should* know what I'm talking about - if I
ataru(at)cyberspace.org | don't, I need to know. Flames welcome.
Jul 23 '05 #5
Christopher Benson-Manica wrote:
Mick White <mw***********@rochester.rr.com> spoke thus:

What type of objects are in the array?
Mick

Some objects that have 5 or 6 strings as members.


This really should not impose much strain on the browser, perhaps there
is some way to optimize your code.
Mick
Jul 23 '05 #6
Mick White <mw***********@rochester.rr.com> spoke thus:
This really should not impose much strain on the browser, perhaps there
is some way to optimize your code.


I'll see if I can get an example together tomorrow that demonstrates
the unfortunate behavior :)

--
Christopher Benson-Manica | I *should* know what I'm talking about - if I
ataru(at)cyberspace.org | don't, I need to know. Flames welcome.
Jul 23 '05 #7
"Christopher Benson-Manica" <at***@nospam.cyberspace.org> wrote in
message news:cs**********@chessie.cirr.com...
I've noticed that IE apparently has a horrible implementation of the
array object, since traversing one with as few as 1000 items it tends
to pop up a dialog informing the user that the script is taking too
long. I tried splitting the array into a 10x100 two-dimensional array
as well as changing the array to a linked list, but neither improved
the code's efficiency sufficiently. Can anyone suggest methods for
optimizing array efficiency, or some other workaround for yet another
one of Bill Gates' blunders?


var now = new Date();
var a = new Array(2500000);
for (var i = 0; i < a.length; ++i);
document.write((new Date()) - now);

Takes about 3.8 seconds in IE 6.0.2800. No warning.

var now = new Date();
var a = new Array(1000000);
for (var i = 0; i < a.length; ++i) {
a[i] = 99999;
}
document.write((new Date()) - now);

Takes about 9 seconds in IE 6.0.2800. No warning.

So the implementation of the Array object is not to blame. What you are
doing inside the loop most likely is the problem. For example:

var now = new Date();
var a = new Array(100000);
var s = '';
for (var i = 0; i < a.length; ++i) {
s += 'x';
}
document.write((new Date()) - now);

Takes about 20 seconds.

var now = new Date();
var a = new Array(100000);
var s = [];
for (var i = 0; i < a.length; ++i) {
s.push('x');
}
s = s.join('');
document.write((new Date()) - now);

Takes about 3 seconds.

Of course:

var now = new Date();
var s = (new Array(100001)).join('x');
document.write((new Date()) - now);

takes < 100ms.

Lastly:

for (var i = 0; i < document.forms[0].elements.length; ++i) {
var whatever = document.forms[0].elements[i].value;
}

is must less efficient than:

var elements = document.forms[0].elements;
for (var i = 0; i < elements.length; ++i) {
var whatever = elements[i].value;
}

so "caching" commonly used deep DOM hierarchies is of value as well.

--
Grant Wagner <gw*****@agricoreunited.com>
comp.lang.javascript FAQ - http://jibbering.com/faq
Jul 23 '05 #8
Grant Wagner <gw*****@agricoreunited.com> spoke thus:
So the implementation of the Array object is not to blame. What you are
doing inside the loop most likely is the problem. For example:


Hm. Well, this is an example of the script that causes the problem
(http://ataru.gomen.org/jstest.html). The loop executes a paltry
10,500 script statements, but IE gives me the "slow script" warning
when it is run. Any advice on how to speed this up would be
appreciated.

var now = new Date();
function bar( one, two, three, four, five, six, seven, eight, nine, ten, eleven ) {
this.one=one;
this.two=two;
this.three=three;
this.four=four;
this.five=five;
this.six=six;
this.seven=seven;
this.eight=eight;
this.nine=nine;
this.ten=ten;
this.eleven=eleven;
}
var foo=[];
foo[0]=new bar( '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>' );
// go all the way up to foo[699]
with( document ) {
writeln( '<table>' );
for (var i = 0; i < foo.length; ++i) {
writeln( '<tr>' );
writeln( '<td>'+i+'</td>' );
var thisfoo=foo[i];
writeln( thisfoo.one );
writeln( thisfoo.two );
writeln( thisfoo.three );
writeln( thisfoo.four );
writeln( thisfoo.five );
writeln( thisfoo.six );
writeln( thisfoo.seven );
writeln( thisfoo.eight );
writeln( thisfoo.nine );
writeln( thisfoo.ten );
writeln( thisfoo.eleven );
writeln( '</tr>' );
}
writeln( '<table>' );
close();
}
document.write((new Date()) - now);

--
Christopher Benson-Manica | I *should* know what I'm talking about - if I
ataru(at)cyberspace.org | don't, I need to know. Flames welcome.
Jul 23 '05 #9
>>> I've noticed that IE apparently has a horrible implementation of the
array object, since traversing one with as few as 1000 items it tends
to pop up a dialog informing the user that the script is taking too
long. I tried splitting the array into a 10x100 two-dimensional array
as well as changing the array to a linked list, but neither improved
the code's efficiency sufficiently. Can anyone suggest methods for
optimizing array efficiency, or some other workaround for yet another
one of Bill Gates' blunders?
So the implementation of the Array object is not to blame. What you are
doing inside the loop most likely is the problem. For example:
Hm. Well, this is an example of the script that causes the problem
(http://ataru.gomen.org/jstest.html). The loop executes a paltry
10,500 script statements, but IE gives me the "slow script" warning
when it is run. Any advice on how to speed this up would be
appreciated.

var now = new Date();
function bar( one, two, three, four, five, six, seven, eight, nine, ten, eleven ) {
this.one=one;
this.two=two;
this.three=three;
this.four=four;
this.five=five;
this.six=six;
this.seven=seven;
this.eight=eight;
this.nine=nine;
this.ten=ten;
this.eleven=eleven;
}
var foo=[];
foo[0]=new bar( '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>', '<td>foo</td>' );
// go all the way up to foo[699]
with( document ) {
writeln( '<table>' );
for (var i = 0; i < foo.length; ++i) {
writeln( '<tr>' );
writeln( '<td>'+i+'</td>' );
var thisfoo=foo[i];
writeln( thisfoo.one );
writeln( thisfoo.two );
writeln( thisfoo.three );
writeln( thisfoo.four );
writeln( thisfoo.five );
writeln( thisfoo.six );
writeln( thisfoo.seven );
writeln( thisfoo.eight );
writeln( thisfoo.nine );
writeln( thisfoo.ten );
writeln( thisfoo.eleven );
writeln( '</tr>' );
}
writeln( '<table>' );
close();
}
document.write((new Date()) - now);


I think you owe Bill Gates an apology. While he has made more than his
share of software blunders (like his demos crashing on stage at the
Consumer Electronics Show last week), this blunder is yours.

Tables can be complicated structures to display. Extremely large tables
will be slow to display.

Replace the
with(document) {
with
var writelin = document.writeln;
That will save you a little bit of time.

You can also replace the bar constructor will object literal notation.

var foo = [
['<td>foo</td>', '<td>foo</td>', '<td>foo</td>',
'<td>foo</td>', '<td>foo</td>', '<td>foo</td>',
'<td>foo</td>', '<td>foo</td>', '<td>foo</td>',
'<td>foo</td>', '<td>foo</td>'],
['<td>foo</td>', '<td>foo</td>', '<td>foo</td>',
'<td>foo</td>', '<td>foo</td>', '<td>foo</td>',
'<td>foo</td>', '<td>foo</td>', '<td>foo</td>',
'<td>foo</td>', '<td>foo</td>'],
...
];

And then use foo[i].join() to knock it down. That should save a lot of
time.

http://www.crockford.com/javascript
Jul 23 '05 #10
Douglas Crockford <no****@covad.net> spoke thus:
I think you owe Bill Gates an apology. While he has made more than his
share of software blunders (like his demos crashing on stage at the
Consumer Electronics Show last week), this blunder is yours.
It's one shared by some other people here, apparently. While I don't
feel disposed to apologize to Mr. Gates, I do owe you a debt of
gratitude :)
And then use foo[i].join() to knock it down. That should save a lot of
time.


That works like a charm - thank you!!!

--
Christopher Benson-Manica | I *should* know what I'm talking about - if I
ataru(at)cyberspace.org | don't, I need to know. Flames welcome.
Jul 23 '05 #11
Christopher Benson-Manica schrieb:
I've noticed that IE apparently has a horrible implementation of the
array object, since traversing one with as few as 1000 items it tends
to pop up a dialog informing the user that the script is taking too
long. I tried splitting the array into a 10x100 two-dimensional array
as well as changing the array to a linked list, but neither improved
the code's efficiency sufficiently. Can anyone suggest methods for
optimizing array efficiency, or some other workaround for yet another
one of Bill Gates' blunders?


var clock
function startCL () {
clock = new Date().getTime()
}
function stopCL ( d ) {
var cl = new Date().getTime()
d.write ( cl - clock )
}

var trData = []
function singleTR () {
this.va = []
for ( var i = 0 ; i < 11 ; i++ ) this.va.push ( '<td>' + arguments
[i] + '</td>' )
}
function init () {
for ( var i = 0 ; i < 700 ; i++ ) trData.push ( new singleTR ( 'aaa'
, 'bbb' , 'ccc' , 'ddd' , 'eee' , 'fff' , 'ggg' , 'hhh' , 'iii' , 'jjj'
, 'kkk' ) )
}

function version_1 ( d ) { // d = document
d.write ( '<table border>' )
for ( var i = 0 ; i < trData.length ; i++ ) {
var trLine = trData [i]
d.write ( '<tr><td>' + i + '</td>' )
for ( var j = 0 ; j < 11 ; j++ ) d.write ( trLine.va [j] )
d.write ( '</tr>' )
}
d.write ( '</table>' )
}

function version_2 ( d ) { // d = document
d.write ( '<table border>' )
for ( var i = 0 ; i < trData.length ; i++ ) {
var trLine = trData [i]
var s = '<tr><td>' + i + '</td>'
for ( var j = 0 ; j < 11 ; j++ ) s+= trLine.va [j]
d.write ( s + '</tr>' )
}
d.write ( '</table>' )
}

function version_3 ( d ) { // d = document
var s = '<table border>'
for ( var i = 0 ; i < trData.length ; i++ ) {
var trLine = trData [i]
s += '<tr><td>' + i + '</td>'
for ( var j = 0 ; j < 11 ; j++ ) s+= trLine.va [j]
s += '</tr>'
}
d.write ( s + '</table>' )
}

startCL ()
init ()
stopCL ( document )
startCL ()
version_1 ( document ) // OR version_2 OR version_3
stopCL ( document )

-------------
Results:

Mozilla 1.75:
init: 0.3 sec
version_1: 5.5 sec
version_2: 1.9 sec
version_3: 1.5 sec

IE 6:
init: 0.5 sec
version_1: ~ 20 sec with timeout warning
version_2: 0.6 sec
version_3: > 40 sec (!) but without timeout warning
-------------
regards, wz
Jul 23 '05 #12
"wolfgang zeidler" <di**********************************@arcor.de> wrote
in message news:41***********************@newsread2.arcor-online.net...
Christopher Benson-Manica schrieb:
I've noticed that IE apparently has a horrible implementation of the
array object, since traversing one with as few as 1000 items it tends
to pop up a dialog informing the user that the script is taking too
long. I tried splitting the array into a 10x100 two-dimensional
array
as well as changing the array to a linked list, but neither improved
the code's efficiency sufficiently. Can anyone suggest methods for
optimizing array efficiency, or some other workaround for yet another
one of Bill Gates' blunders?


var clock
function startCL () {
clock = new Date().getTime()
}
function stopCL ( d ) {
var cl = new Date().getTime()
d.write ( cl - clock )
}

var trData = []
function singleTR () {
this.va = []
for ( var i = 0 ; i < 11 ; i++ ) this.va.push ( '<td>' + arguments
[i] + '</td>' )
}
function init () {
for ( var i = 0 ; i < 700 ; i++ ) trData.push ( new singleTR ( 'aaa'
, 'bbb' , 'ccc' , 'ddd' , 'eee' , 'fff' , 'ggg' , 'hhh' , 'iii' ,
'jjj' , 'kkk' ) )
}

function version_1 ( d ) { // d = document
d.write ( '<table border>' )
for ( var i = 0 ; i < trData.length ; i++ ) {
var trLine = trData [i]
d.write ( '<tr><td>' + i + '</td>' )
for ( var j = 0 ; j < 11 ; j++ ) d.write ( trLine.va [j] )
d.write ( '</tr>' )
}
d.write ( '</table>' )
}

function version_2 ( d ) { // d = document
d.write ( '<table border>' )
for ( var i = 0 ; i < trData.length ; i++ ) {
var trLine = trData [i]
var s = '<tr><td>' + i + '</td>'
for ( var j = 0 ; j < 11 ; j++ ) s+= trLine.va [j]
d.write ( s + '</tr>' )
}
d.write ( '</table>' )
}

function version_3 ( d ) { // d = document
var s = '<table border>'
for ( var i = 0 ; i < trData.length ; i++ ) {
var trLine = trData [i]
s += '<tr><td>' + i + '</td>'
for ( var j = 0 ; j < 11 ; j++ ) s+= trLine.va [j]
s += '</tr>'
}
d.write ( s + '</table>' )
}

startCL ()
init ()
stopCL ( document )
startCL ()
version_1 ( document ) // OR version_2 OR version_3
stopCL ( document )

-------------
Results:

Mozilla 1.75:
init: 0.3 sec
version_1: 5.5 sec
version_2: 1.9 sec
version_3: 1.5 sec

IE 6:
init: 0.5 sec
version_1: ~ 20 sec with timeout warning
version_2: 0.6 sec
version_3: > 40 sec (!) but without timeout warning
-------------
regards, wz


So the problem isn't with the Array handling (because that is done in
init()), the problem is that repeated calls to document.write() are not
efficient in IE.

Here is a new version:

function version_4 ( d ) {
var s = [ '<table border>' ]
for ( var i = 0 ; i < trData.length ; i++ ) {
var trLine = trData[i]
s.push( '<tr><td>' , i , '</td>' )
for ( var j = 0 ; j < 11 ; j++ ) s.push( trLine.va[j] )
s.push( '</tr>' )
}
s.push( '</table>' )
d.write( s.join( '' ) )
}

Mozilla 1.7.5: 1.5 sec
IE 6.0.2900: 0.3 sec

In all your examples, you are calling document.write() as you go. In my
example, I put everything into an Array, then document.write(
Array.join('') )

You basically use the Array as an "output buffer", assemble what you
want to output, then call document.write() _once_.

In Mozilla it is about as fast as your fastest example, and in IE, it is
faster than any of your examples. Problem solved. Don't call
document.write() repeatedly when you can assemble everything and call it
once.

--
Grant Wagner <gw*****@agricoreunited.com>
comp.lang.javascript FAQ - http://jibbering.com/faq
Jul 23 '05 #13
Grant Wagner schrieb:
"wolfgang zeidler" <di**********************************@arcor.de> wrote
in message news:41***********************@newsread2.arcor-online.net...
Christopher Benson-Manica schrieb:

I've noticed that IE apparently has a horrible implementation of the
array object, since traversing one with as few as 1000 items it tends
to pop up a dialog informing the user that the script is taking too
long. I tried splitting the array into a 10x100 two-dimensional
array
as well as changing the array to a linked list, but neither improved
the code's efficiency sufficiently. Can anyone suggest methods for
optimizing array efficiency, or some other workaround for yet another
one of Bill Gates' blunders?


var clock
function startCL () {
clock = new Date().getTime()
}
function stopCL ( d ) {
var cl = new Date().getTime()
d.write ( cl - clock )
}

var trData = []
function singleTR () {
this.va = []
for ( var i = 0 ; i < 11 ; i++ ) this.va.push ( '<td>' + arguments
[i] + '</td>' )
}
function init () {
for ( var i = 0 ; i < 700 ; i++ ) trData.push ( new singleTR ( 'aaa'
, 'bbb' , 'ccc' , 'ddd' , 'eee' , 'fff' , 'ggg' , 'hhh' , 'iii' ,
'jjj' , 'kkk' ) )
}

function version_1 ( d ) { // d = document
d.write ( '<table border>' )
for ( var i = 0 ; i < trData.length ; i++ ) {
var trLine = trData [i]
d.write ( '<tr><td>' + i + '</td>' )
for ( var j = 0 ; j < 11 ; j++ ) d.write ( trLine.va [j] )
d.write ( '</tr>' )
}
d.write ( '</table>' )
}

function version_2 ( d ) { // d = document
d.write ( '<table border>' )
for ( var i = 0 ; i < trData.length ; i++ ) {
var trLine = trData [i]
var s = '<tr><td>' + i + '</td>'
for ( var j = 0 ; j < 11 ; j++ ) s+= trLine.va [j]
d.write ( s + '</tr>' )
}
d.write ( '</table>' )
}

function version_3 ( d ) { // d = document
var s = '<table border>'
for ( var i = 0 ; i < trData.length ; i++ ) {
var trLine = trData [i]
s += '<tr><td>' + i + '</td>'
for ( var j = 0 ; j < 11 ; j++ ) s+= trLine.va [j]
s += '</tr>'
}
d.write ( s + '</table>' )
}

startCL ()
init ()
stopCL ( document )
startCL ()
version_1 ( document ) // OR version_2 OR version_3
stopCL ( document )

-------------
Results:

Mozilla 1.75:
init: 0.3 sec
version_1: 5.5 sec
version_2: 1.9 sec
version_3: 1.5 sec

IE 6:
init: 0.5 sec
version_1: ~ 20 sec with timeout warning
version_2: 0.6 sec
version_3: > 40 sec (!) but without timeout warning
-------------
regards, wz

So the problem isn't with the Array handling (because that is done in
init()), the problem is that repeated calls to document.write() are not
efficient in IE.

Here is a new version:

function version_4 ( d ) {
var s = [ '<table border>' ]
for ( var i = 0 ; i < trData.length ; i++ ) {
var trLine = trData[i]
s.push( '<tr><td>' , i , '</td>' )
for ( var j = 0 ; j < 11 ; j++ ) s.push( trLine.va[j] )
s.push( '</tr>' )
}
s.push( '</table>' )
d.write( s.join( '' ) )
}

Mozilla 1.7.5: 1.5 sec
IE 6.0.2900: 0.3 sec

In all your examples, you are calling document.write() as you go. In my
example, I put everything into an Array, then document.write(
Array.join('') )

You basically use the Array as an "output buffer", assemble what you
want to output, then call document.write() _once_.

In Mozilla it is about as fast as your fastest example, and in IE, it is
faster than any of your examples. Problem solved. Don't call
document.write() repeatedly when you can assemble everything and call it
once.


A) Version_4 seems fast, congratulation

B) Both version_3 and version_4 uses
only 1 write-statement,
I think the difference between them is:
version_4 uses concatenation "s += ..."
which might by also slowly in IE
( and other browsers ).
So I think we should say:
use an array for sampling
but don't use repeating write statements
*and* don't use string concatenation.

C) Based on your version_4 I wrote a version_5.
There seems to be not much differences between both
but for completeness you'll find the listing below.

D) Finally I wrote version_6.
All other versions used the constuctor singleTR ()
like the original poster used the constuctor bar ().
But there is no need to store 11 "TD-datas" in an array
if you are able to store the whole tableRow in a string.

Regards, wz

----------

Results:
m1.75 ie6.0 op7.11 ns4.75
init: 0.3 0.5 0.2 0.5
version_1: 5.5 ~20 2.5 184
version_2: 1.9 0.6 1.1 16.3
version_3: 1.5 40.5 40.5 crashed
version_4: 1.6 0.4 7.0 4.9
version_5: 1.5 0.4 6.4 5.0
init_6: 0.1 0.1 0.1 0.2
version_6: 1.4 0.2 1.2 4.5

----------

function version_5 ( d ) {
var s = new Array ( 12 * trData.length + 1 )
s [0] = '<table border>'
var addr = 0
for ( var i = 0 ; i < trData.length ; i++ ) {
var trLine = trData [i]
s [++addr] = '<tr><td>' + i + '</td>'
for ( var j = 0 ; j < 11 ; j++ ) s [++addr] = trLine.va [j]
s [++addr] = '</tr>'
}
s.push ( '</table>' )
d.write ( s.join ( '' ) )
}

----------

var trData_6 = new Array ( 700 )
function singleTR_6 ( n , a ) {
trData_6 [n] = '<tr><td>' + n + '</td><td>' + a.join ( '</td><td>' )
+ '</td></tr>'
}
function init_6 () {
for ( var i = 0 ; i < 700 ; i++ ) singleTR_6 ( i , [ 'aaa' , 'bbb' ,
'ccc' , 'ddd' , 'eee' , 'fff' , 'ggg' , 'hhh' , 'iii' , 'jjj' , 'kkk' ] )
}

function version_6 ( d ) {
d.write ( '<table border>' )
d.write ( trData_6.join ( '' ) )
d.write ( '</table>' )
}

startCL ()
init_6 ()
stopCL ( document )
startCL ()
version_6 ( document )
stopCL ( document )

----

Details of results:

mz 1.75
init 270 330 330 330 280
v1 5500 5490 5490 5440 5490
v2 1920 1930 1920 1920 1980
v3 1540 1480 1480 1480 1540
v4 1650 1590 1540 1590 1590
v5 1490 1530 1490 1480 1480
I6 110 110 50 50 70
v6 1420 1430 1370 1430 1370

ie 6.0.26
init 490 490 510 510 490
v1 2420 2030 2130 2080 2310
v2 610 540 600 630 600
v3 40370 40590 40310 40420 40900
v4 380 390 440 380 390
v5 380 380 390 390 380
I6 50 110 110 60 110
v6 220 170 170 220 160

opera 7.11
init 220 220 220 170 170
v1 2470 2410 2580 2530 2530
v2 1100 1100 1100 1150 1100
v3 16310 16260 16360 16260 16260
v4 7250 7300 7140 6040 7200
v5 6370 6700 6260 6090 6480
I6 170 110 110 160 110
v6 1260 1210 1260 1210 1210

netscape 4.75
init 440 550 600 500 620
v1 170490 198110
v2 16310 15930 16090 16480 16700
v3 "JavaScript Error: out of memory" ( twice )
v4 5110 5110 4770 4890 4720
v5 4940 4720 4940 5170 5050
I6 220 170 110 100 170
v6 4450 4450 4500 4450 4440
Jul 23 '05 #14

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

19
by: Canonical Latin | last post by:
"Leor Zolman" <leor@bdsoft.com> wrote > "Canonical Latin" <javaplus@hotmail.com> wrote: > > > ... > >But I'm still curious as to the rational of having type >...
21
by: Matteo Settenvini | last post by:
Ok, I'm quite a newbie, so this question may appear silly. I'm using g++ 3.3.x. I had been taught that an array isn't a lot different from a pointer (in fact you can use the pointer arithmetics to...
5
by: JezB | last post by:
What's the easiest way to concatenate arrays ? For example, I want a list of files that match one of 3 search patterns, so I need something like DirectoryInfo ld = new DirectoryInfo(searchDir);...
3
by: Michel Rouzic | last post by:
It's the first time I try using structs, and I'm getting confused with it and can't make it work properly I firstly define the structure by this : typedef struct { char *l1; int *l2; int Nval; }...
1
by: Rob Griffiths | last post by:
Can anyone explain to me the difference between an element type and a component type? In the java literature, arrays are said to have component types, whereas collections from the Collections...
41
by: Rene Nyffenegger | last post by:
Hello everyone. I am not fluent in JavaScript, so I might overlook the obvious. But in all other programming languages that I know and that have associative arrays, or hashes, the elements in...
6
by: Robert Bravery | last post by:
Hi all, Can some one show me how to achieve a cross product of arrays. So that if I had two arrays (could be any number) with three elements in each (once again could be any number) I would get:...
1
by: Doug_J_W | last post by:
I have a Visual Basic (2005) project that contains around twenty embedded text files as resources. The text files contain two columns of real numbers that are separated by tab deliminator, and are...
16
by: mike3 | last post by:
(I'm xposting this to both comp.lang.c++ and comp.os.ms- windows.programmer.win32 since there's Windows material in here as well as questions related to standard C++. Not sure how that'd go over...
29
weaknessforcats
by: weaknessforcats | last post by:
Arrays Revealed Introduction Arrays are the built-in containers of C and C++. This article assumes the reader has some experiece with arrays and array syntax but is not clear on a )exactly how...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.