Прямой эфир

  • avatar
  • eReS
  • 06 января 2011, 11:02
  • #
  • 0
:) если у вас Gentoo, есть намного проще способы измерять время работы программы, командой time:
$ time ./имя_скомпилированной_программы

Исходник для проверки Задачи №7:

#include <iostream>
#include <cmath>
using namespace std;

int NextPrimeNumber(int previous)
{
  int temp;
  int MaxNumber;
  int i = 3;

  if (previous == 2)
  {
    temp = previous + 1;
  }
  else
  {
    temp = previous + 2;
  }

  MaxNumber = sqrt(temp);

  while (1)
  {
    if (temp%i == 0 && i!=temp)
    {
      temp += 2;
      MaxNumber = sqrt(temp);
      i=3;
      continue;
    }

    if (i==temp || i>MaxNumber)
    {
      break;
    }

    i += 2;
  }

  return temp;
}

int main()
{
  int nux = 2;		// первое простое число, от которого начинаем поиск
  int number = 100000;	// простое число, которое нужно найти
	
  for (int i=1; i<number; i++)
  {
    nux = NextPrimeNumber(nux);
  }

  cout << number << " простое число: " << nux << endl;

  return 0;
}

// 100000-ше простое число: 1299709
// real	0m1.217s
  • avatar
  • ostin
  • 06 января 2011, 01:26
  • #
  • +1
Лениво мне было самому делать =)
Итого: gcc версия 4.4.4 (Gentoo 4.4.4-r2 p1.2, pie-0.4.5)
Функция 1:
g++: 1.010000
g++ -O3 -mmmx -msse -msse2 -mfpmath=sse -funroll-loops: 0.720000

Функция 1 после переноса:
g++:1.530000
g++ -O0: 1.530000
g++ -Os: 1.330000
g++ -O1 и -O2 и -O3: 0.820000
g++ -O3 -mmmx -msse -msse2 -mfpmath=sse -funroll-loops:0.780000

Все цифры очень приблизительны — значения скакали с погрешностью до 0.2с (и почему-то занимали некоторые «устойчивые положения»), видимо криво время мерюю:

clock_t begin = clock();
// do thomething
float time = (clock() - begin)/(float)CLOCKS_PER_SEC;

Итого: компилятор умеет отлавливать такие ситуации.
  • avatar
  • eReS
  • 06 января 2011, 00:39
  • #
  • 0
Да, можете «MaxNumber = sqrt(temp);» перенести в главный цикл, заодно и проверите :)
  • avatar
  • ostin
  • 06 января 2011, 00:28
  • #
  • 0
— находим корень числа для конечного диапазона не каждый раз в цикле, а только когда это необходимо;

По идее, компилятор должен такие вещи сам находить.
Оно реально ускоряет работу программы?
Пожалуйста! Для меня только в радость помогать такому интересному проекту, если уж не кодом, то хотя бы переводами.
  • avatar
  • eReS
  • 05 января 2011, 23:56
  • #
  • +2
Спасибо за перевод :)
Не всегда для старой железячки драйвера-то найдутся под/в Win7 x64…
  • avatar
  • sanb
  • 05 января 2011, 17:25
  • #
  • +1
последние версии клиентов уже стоят :)
ещё стоит задача к одному из них прикрутить USB-трубку SkypeMate USB-P1K
  • avatar
  • sanb
  • 05 января 2011, 17:19
  • #
  • +1
я вообще хотел написать обзор SIP/VoIP клиентов под Linux c картинками
самому интересно
  • avatar
  • 4ybaka
  • 05 января 2011, 13:40
  • #
  • 0
Не, не угадал) samsung
  • avatar
  • fog
  • 05 января 2011, 12:54
  • #
  • 0
Главное, что работает. ;-) К тому же драйвер то у меня правильный, а то что ядро немного криво определило железку, так это ерунда.
  • avatar
  • fog
  • 05 января 2011, 12:51
  • #
  • 0
Правда принтер достаточно популярной фирмы,
Угадаю. HP? ;-)
  • avatar
  • NOX
  • 05 января 2011, 03:10
  • #
  • 0
кстати не намногим больше телодвижений чем при настройке старой железячки под Win7 x64…
  • avatar
  • h31
  • 05 января 2011, 02:55
  • #
  • 0
Так ведь CS Plus и TA Plus скорее всего не одно и то же.
  • avatar
  • fog
  • 05 января 2011, 00:35
  • #
  • 0
Может напишешь пост «в картинках» как оно все вместе работает?
  • avatar
  • CraDem
  • 04 января 2011, 23:02
  • #
  • 0
хмммм- печально(((

FAQ
===

Q: Does this plugin require Skype to be running?
A: Yes.

Q: Can you make a version that doesn't need Skype?
A: Not possible right now.
  • avatar
  • CraDem
  • 04 января 2011, 22:58
  • #
  • 0
спасибо!
а на деле насколько стабильно все это вместе работает??
  • avatar
  • sanb
  • 04 января 2011, 22:51
  • #
  • +2
Но, к сожалению, я пока не видел клиентов для IP-телефонии, которые бы поддерживали все три протокола

empathy + telepathy-sofiasip + telepathy-haze + eion.robbmob.com/
  • avatar
  • 4ybaka
  • 04 января 2011, 21:38
  • #
  • +1
У меня друг тоже недавно радовался, насколько нынче легко в линуксе с принтерами стало. Вставил usb, включил принтер, дал полминуты на идентификацию/подумать и все, принтер готов к работе. Даже ставить ничего не пришлось. Правда принтер достаточно популярной фирмы, но на то они и популярные, что у многих стоят и проблем с ними нет)
Ха, у меня такой же девайс. Странновато работает, правда. Иногда как будто закусывает головку. В остальном стоит своих 300 рублей!!! :)