chiark / gitweb /
libudev: enumerate - sort with qsort()
authorKay Sievers <kay.sievers@vrfy.org>
Wed, 8 Jul 2009 00:04:49 +0000 (02:04 +0200)
committerKay Sievers <kay.sievers@vrfy.org>
Wed, 8 Jul 2009 00:04:49 +0000 (02:04 +0200)
commit871a36bd7e37a9d27e633b93ae0119a4553195ec
tree2bd56b520e33bb26f1182baf7bfc17baa4feda1f
parenta71369b0db359cddeb207a317588b175630dcca8
libudev: enumerate - sort with qsort()

On machines with many thousands of devices:
  $ time find /sys -name uevent | wc -l
  74876

  real      0m33.171s
  user      0m3.329s
  sys       0m29.719s

the current udevtrigger spends minutes sorting the device list:
  $ time /sbin/udevadm trigger --dry-run

  real      4m56.739s
  user      4m45.743s
  sys       0m7.862s

with qsort() it looks better:
  $ time udev/udevadm trigger --dry-run

  real      0m6.495s
  user      0m0.473s
  sys       0m5.923s
libudev/Makefile.am
libudev/libudev-enumerate.c
libudev/test-libudev.c