So che Python, Perl, Java, Lua e ovviamente C (poiché è l'unico array che è in afaik ANSI standard) supportano l'aspetto più veloce degli array indicizzati numericamente rispetto a una ricerca hash o qualcosa del genere. Anche Javascript?
Come esempio nel codice di cosa intendo, nel caso di Perl:
for(i=0;i<10;i++)
{
# Do something
}
è più lento di:
for (1..9)
{
# do something else
}
o
@var = (1,2,3)
foreach(@var)
{
print $_; # look I'm fancy
}
e più veloce di:
foreach my $key (keys %hash)
{
print $_; # Look I'm fancy
}
e in python, dato il seguente:
class thisClass:
def methodOne(i):
return i+1
thisDict = {
'number': 1
}
Queste due operazioni sono simili nella velocità perché entrambe implicano una ricerca hash in un hash dello stesso spessore:
thisObject = new thisClass
i = thisObject.methodOne(1)
e
i = 1+thisDict['1'];
Entrambi questi tipi di ricerche sono più lenti di questo:
thisTuple = (1,)
i = thisTuple[0]+1
Mentre questo:
thisArray = [1,2]
for i in thisArray:
print i
è iterato più veloce di:
thisTuple = (1,2)
for i in thisTuple:
print i
con cui intendo elenchi iterati più velocemente delle tuple.
Javascript supporta gli array indicizzati numericamente in modo diverso rispetto agli array associati? Non credo che Javascript supporti più di array e array associativi, ma se lo fa come si confronta con i due in termini di velocità?