"-server" прироста не даёт, как дома, так и на машине, что комментом выше. Поэтому сразу без него и пускал. Пока что не знаю почему.
Кажется, я понял, почему у меня так тормозит: 32-х битная версия. Сейчас попробую найти среди контактов кого-нибудь с 64-х битной и потестить
Нет, для надёжности запускал по 5 раз. С «nice -n -9», дабы никто не мешал. На большее не хватило терпения. Когда убедился, что числа более-менее постоянны, брал наиболее близкий к среднему результат.
Просто потому, что я знал, как включить её в компляторе (gcc). Но референсной была выбрана версия без оптимизации.
Кстати, не подскажете, как её включить для python/java (пока не силён в опциях)?
К сожалению, сейчас у меня нет такой возможности. Но, уже после написания статьи, пришла мысль, что действительно стоило бы тестировать бОльший набор языков и по бОльшему числу параметров (кроме циклов взять создание классов, вызовы методов, простых функций, статический, динамический контекст).
Думаю, в скором времени будут другие тесты — самому всё ещё любопытно.
Мне кажется, что «хорошим кодом» считается тот, который понятен многим.
А код «о, смотри, какую я штуку написал! угадай, что оно делает?» — плохой код, потому что он отнимает уйму человекочасов на поддержке.
Не сильно понимаю, как конструкция из множества скобок и спецсимволов (которую большинство постарается ещё и в одну строку записать) поможет «сделать код лучше»? Примером «как не стоит писать»?
PS: функция inc() случаем не ноль всегда возвращать будет? Кажется, там логическая ошибочка с местом инициализации переменной value ;)
Только что «допонял» пост. А что Вам помешало
1) запускать jar-файлы просто «даблкликом»? Они же ассоциируются с ява-машиной (по крайней мере после установки JRE)
2) прописать ассоциацию (если windows, то в реестре) на открытие PHP-файлов (как вирусы делают на exe) чтобы файлы с таким расширением уходили в что-то типа «java jEdit %1»?
Или для эстетов есть GCJ, который умеет компилировать как в байткод, так и в native-бинари.
А исходник java-программы при некотором желании получить всегда можно :)
А за ссылку спасибо, да, там куда серьёзнее
Кажется, я понял, почему у меня так тормозит: 32-х битная версия. Сейчас попробую найти среди контактов кого-нибудь с 64-х битной и потестить
Попробовал на одном из серверов:
$ cat /proc/cpuinfo |fgrep 'model name'
model name: Dual-Core AMD Opteron(tm) Processor 2218
model name: Dual-Core AMD Opteron(tm) Processor 2218
model name: Dual-Core AMD Opteron(tm) Processor 2218
model name: Dual-Core AMD Opteron(tm) Processor 2218
# time nice -n -9 java ru.dchekmarev.test.performance.Test01
answer: 39
run time (millis): 4653
real 0m6.540s
user 0m4.697s
sys 0m0.017s
Кстати, не подскажете, как её включить для python/java (пока не силён в опциях)?
Думаю, в скором времени будут другие тесты — самому всё ещё любопытно.
А что за версия C++ с «волшебными статиками»?
// test.cpp, code begin
#include using namespace std;
int inc() {
static int z = 0;
return z++;
}
int main(void) {
for (int i = 0; i < 5; i++) {
cout << int() << endl;
}
return 0;
}
// code end
~$ g++ test.cpp && ./a.out
0
0
0
0
0
~$
Думайте, прежде чем минусовать
А код «о, смотри, какую я штуку написал! угадай, что оно делает?» — плохой код, потому что он отнимает уйму человекочасов на поддержке.
Не сильно понимаю, как конструкция из множества скобок и спецсимволов (которую большинство постарается ещё и в одну строку записать) поможет «сделать код лучше»? Примером «как не стоит писать»?
PS: функция inc() случаем не ноль всегда возвращать будет? Кажется, там логическая ошибочка с местом инициализации переменной value ;)
1) запускать jar-файлы просто «даблкликом»? Они же ассоциируются с ява-машиной (по крайней мере после установки JRE)
2) прописать ассоциацию (если windows, то в реестре) на открытие PHP-файлов (как вирусы делают на exe) чтобы файлы с таким расширением уходили в что-то типа «java jEdit %1»?
А исходник java-программы при некотором желании получить всегда можно :)