Ускорение скорости соединения / Быстрое соединение в Linux - PullRequest
11 голосов
/ 12 сентября 2010

Я создаю webkit (2 миллиона строк кода) через каждые десять минут, чтобы увидеть результат моих изменений в нем, и для связывания webkit на моей машине требуется обработать 600-700 МБ объектных файлов, которые есть на моемжесткий диск.Это займет около 1,5 минут.Я хочу ускорить процесс связывания.

Есть ли шанс, что я могу сказать ОС, чтобы все объектные файлы оставались только в оперативной памяти (у меня 4 ГБ ОЗУ).Есть ли другой способ ускорить связывание?

Любые идеи или помощь приветствуются!

Вот команда, которая занимает 1,5 минуты,

http://pastebin.com/GtaggkSc

Ответы [ 4 ]

16 голосов
/ 30 сентября 2010

Я решил эту проблему с помощью tempfs и gold linker .

1). tmpfs : каталог монтирования, который содержит все объектные файлы как tmpfs.

2). gold linker : использование gold linker сделает соединение в 5-6 раз быстрее, а преимущество tmpfs будет в 7-8 раз быстрее, чем обычное соединение.используйте следующую команду в Ubuntu, и ваш обычный компоновщик будет заменен на Gold Linker.

sudo apt-get install binutils-gold

Вы можете найти ошибку компоновки, используя gold linker, ниже приведена хорошая справка. Замена ld золотом - есть опыт?

2 голосов
/ 12 сентября 2010

Попробуйте использовать RAM-диск

1 голос
/ 15 сентября 2010

Получите SSD-диск для вашего Linux-компьютера.Если производительность записи все еще остается проблемой, сконфигурируйте выходной путь на оперативном диске.

Вы измерили, сколько из 1,5 минут действительно связано с вводом-выводом?Размер Webkit настолько велик, что вы можете столкнуться с разрушением кеша памяти.Вы должны попытаться выяснить, сколько кеша L1 / L2 отсутствует.Я бы предположил, что это проблема.В этом случае ваша единственная надежда состоит в том, что кто-то из команды GCC изучит эту проблему.

Кстати: у Microsoft такая же проблема с экстремальными временами компоновщика.

1 голос
/ 12 сентября 2010

Честно говоря, я не уверен, что понимаю проблему, но будет ли вам полезно что-то вроде ramfs ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...