diff options
author | Dave Reisner <dreisner@archlinux.org> | 2012-09-17 16:29:01 +0200 |
---|---|---|
committer | Dave Reisner <dreisner@archlinux.org> | 2012-09-17 16:49:44 +0200 |
commit | b8d9c5cd2753e924150f7d3b9081a5e1c2cafad2 (patch) | |
tree | e2279793a78ec826e83b0c9c584b1e6094b3bd06 /functions | |
parent | 41eb799039a7a7fd00471642c06318f53e633134 (diff) | |
download | mkinitcpio-b8d9c5cd2753e924150f7d3b9081a5e1c2cafad2.tar.gz mkinitcpio-b8d9c5cd2753e924150f7d3b9081a5e1c2cafad2.tar.xz |
declare ADDED_MODULES as associative array
Lookups in the hash table are far faster than traversing the entire
array, as this grows O(n) and introduces a particularly noticeable
slowdown on larger images.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Diffstat (limited to 'functions')
-rw-r--r-- | functions | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -313,7 +313,7 @@ add_module() { module=${1%.ko*} # skip expensive stuff if this module has already been added - in_array "${module//-/_}" "${ADDED_MODULES[@]}" && return + (( ${ADDED_MODULES["$module"]} )) && return while IFS=':= ' read -r -d '' field value; do case "$field" in @@ -343,7 +343,7 @@ add_module() { # aggregate modules and add them all at once to save some forks (( QUIET )) || plain "adding module: %s" "$1" MODPATHS+=("$path") - ADDED_MODULES+=("${module//-/_}") + ADDED_MODULES["${module//-/_}"]=1 # handle module quirks case $module in |