如何在ARM应用程序启动时加快set_tls和mprotect的速度?

时间:2014-01-29 11:45:04

标签: linux arm mprotect

我在NAND(UbiFS)上使用ARM(TI814x)。启动QtGui应用程序时,需要大约1秒直到set_tls(线程本地存储?)和mprotect完成(加载所有共享库需要1.3秒)。

为什么需要这么长时间,是否有办法(例如配置)加快速度?

E.g。在没有QtGui模块的情况下编译应用程序时,速度要快得多......但这不是一个选项。

[   1.375] mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40052000
[   1.391] set_tls(0x400524c0, 0x40052ba8, 0x400ad058, 0x400524c0, 0x400ad058) = 0
[   1.860] mprotect(0x4105b000, 8192, PROT_READ)   = 0
[   1.875] mprotect(0x400cb000, 4096, PROT_READ)   = 0
[   1.875] mprotect(0x4006d000, 4096, PROT_READ)   = 0
[   1.875] mprotect(0x4018c000, 4096, PROT_READ)   = 0
[   1.922] mprotect(0x40f26000, 4096, PROT_READ)   = 0
[   1.954] mprotect(0x40e7a000, 16384, PROT_READ)  = 0
[   2.204] mprotect(0x400ac000, 4096, PROT_READ)   = 0
[   2.219] munmap(0x400e4000, 4969)                = 0
[   2.219] set_tid_address(0x40052068)             = 212
[   2.219] set_robust_list(0x40052070, 12)         = 0
[   2.235] futex(0xbebc1cc8, FUTEX_WAKE_PRIVATE, 1) = 0

0 个答案:

没有答案