Live dc++ forum
Форма входа
Логин:
Пароль:
Главная | Компиляция клиентов - Форум | Среда, 26.07.2017, 19:48
[ Новые сообщения · Участники · Правила форума · Поиск
Страница 1 из 11
Форум » >> » DC++ » Компиляция клиентов (улучшения)
Компиляция клиентов
deityДата: Воскресенье, 17.08.2008, 00:57 | Сообщение # 1
Полковник
Сообщений: 238
Репутация: 4
Статус: Offline
1)Если программы собираются в Visual Studio 2008 ,может имеет смысл делать разные сборки для улучшения стабильности и производительности для разных процессоров и включать поддержку многоядерности? Visual Studio 2008 позволяет такое...( так например делаются сборки 7-zip для интела с поддержкой доп инструкций )
2)Можно сделать 64 битную версию? Visual Studio 2008 позволяет такое тоже...
 
SMTДата: Воскресенье, 17.08.2008, 10:44 | Сообщение # 2
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
1) можно, но общие оптимизации дадут прирост на пару процентов. SIMD-инструкции, которые могут дать скорость, тут не применимы. напомни, как включить "поддержку многоядерности"?
2) конечно, но все мелкие конфликты надо вычистить руками. последние StrongDC это сделали и могут собираться под 64 бита. Апекс скоро за ними последует


Сообщение отредактировал SMT - Воскресенье, 17.08.2008, 10:53
 
deityДата: Воскресенье, 17.08.2008, 11:49 | Сообщение # 3
Полковник
Сообщений: 238
Репутация: 4
Статус: Offline
1)я не могу точно сказать- где там это включать( сорри)( может в код надо добавить ...), но вот пишут
Quote

Не для кого не секрет, что ближайшее будущее за многоядерными системами. И каждый кодер уже должен быть к этому готов.

Довольно часто возникает потребность в оптимизации того или иного алгоритма. При этом обычно подобные доработки связаны с большими затратами времени и сил. Однако, с приходом многоядерных процессоров алгоритм допускающий распараллеливание может быть оптимизирован с необычайной легкостью.

Для того чтобы использовать все ядра процессора необходимо создать многопоточный алгоритм с числом потоков равным числу ядер. Обычно ядра два (Core Duo), поэтому я приведу пример для двух потоков.

Каждый поток представляет собой объект класса Thread. Во время создания потока необходимо указать точку входа - статический метод класса (Thread1Proc, Thread2Proc). Метод Start запускает поток, а Join ждет его завершения.

using System.Threading;
...

Thread t1 = new Thread(new ThreadStart(Thread1Proc));
Thread t2 = new Thread(new ThreadStart(Thread2Proc));
t1.Start();
t2.Start();

while ((t1.ThreadState != ThreadState.Stopped) && (t2.ThreadState != ThreadState.Stopped))
{
//Here we could show some info about process
Application.DoEvents();
Thread.Sleep(1);
}

t1.Join();
t2.Join();

.....

public static void Thread1Proc()
{
//Do 1th half
}

public static void Thread2Proc()
{
//Do 2nd half
}
Такая оптимизация позволяет поднять скорость выполнения кода в два раза! Единственная проблема, что не всегда можно разбить код на две параллельные части.


с инструкциями жалко..маленький прирост будет ( а это тестировалось?)
2) а где можно скачать последнюю 64 битную собранный стронг? кто может скомпилить?


Сообщение отредактировал deity - Воскресенье, 17.08.2008, 11:52
 
SMTДата: Воскресенье, 17.08.2008, 15:19 | Сообщение # 4
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
Quote (deity)
я не могу точно сказать- где там это включать( сорри)( может в код надо добавить ...), но вот пишут

они предлагают полностью переписать алгоритм. к слову, дц++ изначально использовал множество потоков и от большого числа ядер будет только быстрее (каждая закачка/отдача, хеширование, поиск обслуживаются отдельным потоком)

Quote (deity)
а где можно скачать последнюю 64 битную собранный стронг? кто может скомпилить?

64-битность официально будет не раньше следующего релиза, но торопыгам можно скачать исходники из SVN.

могу посоветовать собранный 64-битный мод стронга, заточенный под операторов хаба - RSX++
http://www.ixiancorp.com/Sharing/DC/RSX++.aspx

 
deityДата: Воскресенье, 17.08.2008, 15:27 | Сообщение # 5
Полковник
Сообщений: 238
Репутация: 4
Статус: Offline
спасибо...сейчас посмотрю
клиент постоен на стронге
работает стабильно
для ОПОв оценка 5!


Сообщение отредактировал deity - Воскресенье, 17.08.2008, 19:45
 
TiratroNДата: Понедельник, 26.01.2009, 19:32 | Сообщение # 6
Рядовой
Сообщений: 4
Репутация: 0
Статус: Offline
Соществует ли 64 битовая версия Pelink ?
 
deityДата: Понедельник, 26.01.2009, 19:37 | Сообщение # 7
Полковник
Сообщений: 238
Репутация: 4
Статус: Offline
мне известны только два клиента 64
RSX++
и jUCy
http://jucy.eu/index.php/downloads.html
 
IRainmanДата: Понедельник, 11.05.2009, 16:18 | Сообщение # 8
Рядовой
Сообщений: 16
Репутация: 2
Статус: Offline
Flylink http://livedc.ucoz.ru/forum/2-3-1
имеет две версии 64 и 86 обе полностью работоспособны
ps огромное спасибо brain-ripper

единственное но на 64х битной версии пока не работает flybot ибо он 32х битный и написан на дельфях :-[


Официальный сайт FlylinkDC++
Блог разработчиков FlylinkDC++
 
Форум » >> » DC++ » Компиляция клиентов (улучшения)
Страница 1 из 11
Поиск:


В движке поковырялся LiveDC :p © 2017
Сделать бесплатный сайт с uCoz