to post messages and comments.

"Новая видеокарта TITAN X на графическом процессоре GP102 навела шороху в оверклокерской лиге HWBot. Шутка ли — этот ускоритель способен бить рекорды даже без замены охлаждения на жидкостное или экстремальное, и лишь вопрос времени, когда большинство высших достижений в современных 3D-бенчмарках будут за его владельцами"
Мне уже любопытно, сколько воплей поднимется среди геймеров, если все та же печально известная FFXIII-2 ухитрится опуститься до 10-15 FPS и на этом ускорителе XD

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

Ох, как я не люблю эти ваши энергосберегающие технологии....
$ sudo cpupower frequency-set -g ondemand
[sudo] password for self:
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
$ time for i in {1..3000};do cat /dev/null;done

real 0m4.077s
user 0m0.183s
sys 0m0.817s
$ sudo cpupower frequency-set -g performance
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
$ time for i in {1..3000};do cat /dev/null;done

real 0m2.417s
user 0m0.157s
sys 0m0.550s

с производительностью Git на большом репозитории.*

Джошуа Редстоун (Joshua Redstone) пожаловался в листе рассылки Git на некоторые проблемы с производительностью, которые возникли у Facebook на большом репозитории. Они создали синтетический репозиторий и провели тесты.

habrahabr.ru

забавно выделение памяти через new/delete медленнее чем через malloc/free даже если нет конструктора (как и нет членов класса с конструктором). более того, оно медленнее даже для нативных типов.

тест кейс
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>

using namespace std;

class ClassA
{
char m;
};

void print_diff(timespec *t)
{
timespec now;
if (clock_gettime(CLOCK_MONOTONIC, &now) == -1) {
perror("clock_gettime");
}
time_t secDelta = now.tv_sec — t->tv_sec;
long nsecDelta = now.tv_nsec — t->tv_nsec;
if (nsecDelta < 0) {
secDelta--;
nsecDelta = 1000000000 + nsecDelta;
}
cout << secDelta << "." << nsecDelta << "\n";
}

//typedef ClassA A;
typedef char A;

int main()
{
A *a;
timespec start;

clock_gettime(CLOCK_MONOTONIC, &start);
for (int i = 0; i < 10000000; i++) {
a = new A[100];
delete[] a;
}
print_diff(&start);

clock_gettime(CLOCK_MONOTONIC, &start);
for (int i = 0; i < 10000000; i++) {
a = (A*)malloc(100 * sizeof(A));
free(a);
}
print_diff(&start);
return 0;
}

резалт
$ g++ -O3 test.cpp -lrt
$ ./a.out
0.585239209
0.456138358

На Хабре mail.ru анонсировали видео с конференции Highload, но видео мерзкого качества и еще переводчик мешает слушать, короче так себе. Но вот слайды по поиску узких мест софта в linux от Joe Damato очень интересные:
timetobleed.com

устроил тест производительности транспорта, уменьшив интервал обновлений до 15 секунд. при 200 пользователях тест был благополучно завален %( а вот с интервалом в 21 секунду он отлично справляется =)

как-то слишком быстро работает все теперь

Кто-то говорит, что в Адобми работают идиоты. А я вот второй день наблюдаю необычно быстро работающие флэш-приложения. Сначала этот пример — youtube.com .

Потом случайно зашел на эту игрушку — onlinegames.com .

Везде все летает. Или это я привык к скорости флекса, что тру флэш кажется таким шустрым? С другой стороны, у меня ощущение, что второй ссылке используется Flex.

А! Похоже, это новый Flash Player 10.1 RC2 (Flash Player 10.1.53.7), который я невзначай устновил на днях.

Получается, он действительно быстрее, и это заметно на глаз.

Подскажите какую-нибудь простенькую утилитку для тестирования производительности веб-серверов. Нужно чтобы умела прогнать заданое количество раз и в заданое количество потоков список url'ов, с keepalive, ssl и в идеале симулировать работу разных типов клиентов (медленные/быстрые).
ab слишком тупой, еще работал с siege, но мне не нравится что из 3-х запусков минимум на одном siege сам валится

*deadlock There are four necessary conditions for a deadlock to occur, known as the Coffman conditions from their first description in a 1971 article by E. G. Coffman.

1. Mutual exclusion condition: a resource that cannot be used by more than one process at a time
2. Hold and wait condition: processes already holding resources may request new resources
3. No preemption condition: No resource can be forcibly removed from a process holding it, resources can be released only by the explicit action of the process
4. Circular wait condition: two or more processes form a circular chain where each process waits for a resource that the next process in the chain holds