all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
To: 'Nordlöw' <per.nordlow@gmail.com>, help-gnu-emacs@gnu.org
Subject: RE: Array or Vector?
Date: Wed, 10 Sep 2008 08:57:31 -0700	[thread overview]
Message-ID: <001c01c9135d$ef331b40$c2b22382@us.oracle.com> (raw)
In-Reply-To: <2e338035-f71c-449a-bf25-9614e77d76ce@y21g2000hsf.googlegroups.com>

> When, in Emacs Lisp, is it preferrable to use a list over a vector and
> vice versa?
> 
> My guess is
> - vector: for fast static sequences
> - list: for dynamically growing sequences

Yes (growing, shrinking, ...). And array, not necessarily vector.

See Elisp manual, node Sequences Arrays Vectors:

  An "array" is a single primitive object that has a slot for each of
  its elements.  All the elements are accessible in constant time, but
  the length of an existing array cannot be changed.  Strings, vectors,
  char-tables and bool-vectors are the four types of arrays.

  A list is a sequence of elements, but it is not a single primitive
  object; it is made of cons cells, one cell per element.  Finding the
  Nth element requires looking through N cons cells, so elements farther
  from the beginning of the list take longer to access.  But it is
  possible to add elements to the list, or remove elements.

The Elisp manual is your friend.





      reply	other threads:[~2008-09-10 15:57 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-10 15:11 Array or Vector? Nordlöw
2008-09-10 15:57 ` Drew Adams [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='001c01c9135d$ef331b40$c2b22382@us.oracle.com' \
    --to=drew.adams@oracle.com \
    --cc=help-gnu-emacs@gnu.org \
    --cc=per.nordlow@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.