On the whole it would be easier to leave the mozilla-1.9.1 builds well alone until the merge occurs. We've set up the nightly update system so that
* before the merge and version bump, Minefield will continue to update to mozilla-central builds
* after the merge and version bump you'll get moved to mozilla-1.9.1 automagically. At this point if you want mozilla-central, go download a build from latest-mozilla-central/ on the ftp.
Как раз к админам. Я посмотрел файл /usr/share/misc/magic откуда узнал что магическая последовательность для архивов RAR это «Rar!». Дальше man grep, ищу по слову offset, нахожу опцию -b. Итак: grep -b -o -a 'Rar!' file. После этого пользуясь полученным списком смещений и командой dd, достаю исходные файлы.
Если получателем является Windows система, то на ней эффекта, аналогичного cat file.part* > file можно достичь командой copy file.part1+file.part2+...+file.partn file
Пусть есть такой код по адресу скажем 100:
X1 Y1 Y2 Y3
X1 — первая команда, Y? — вторая.
Пусть int3 занимает два байта. Тогда если поставить брейкпоинт по адресу 100, получим:
Z1 Z2 Y2 Y3
Если в коде были переходы на адрес 101, то они сейчас сломаны, потому что переход будет осуществляться в середину команды int3 (это не вызовет выполнения команды int3, отладчик не сможет ничего подменить, будет выполнен какой-то мусор или вообще это будет считаться некорректным кодом).
int3 занимает один байт для того, чтобы можно было им заменять однобайтные команды. Если бы int3 занимал два байта и им заменили однобайтную команду, он бы затёр первый байт следующей команды, что сломало бы все переходы на эту вторую команду (так как переход осуществлялся бы в середину команды int3).
Ну, когда я этим занимался пару лет назад, то использовал ggnfs (msieve ещё не было) и процессор у меня был далеко не 1.6 Ghz… Спасибо за актуальную информацию!
Не совсем. Даже если работают 24 Xeon, они не обязаны активно обмениваться большими объёмами данных. Они их могут накапливать, после чего данные нужно слить на одну машину для дальнейшей обработки (хотя для этой обработки существуют и параллельные алгоритмы, нужна или многопроцессорная машина, или кластер с очень быстрой сетью; да и для таких маленьких чисел — 300 бит — эти алгоритмы не нужны).
Так что в принципе 24 Xeon, работающих в течении часа — это не то же самое что 1 Xeon, работающий сутки, особенно для алгоритмов оптимизированных для параллельного выполнения и требующих большого количества памяти на каждой ноде.
Таких вообще нельзя называть программистами. Тот, кто не знает, для чего нужен break является только начинающим программировать на императивных языках (вне зависимости от количества строк написанного production-кода).
1. Происходит вычисление правой части, в результате создаётся новая строка в памяти, и $a присваивается эта строка (в результате чего предыдущее значение внутри $a выбрасывается). Итого: одно выделение памяти, одно освобождение, два копирования.
2. Происходит добавление к уже существующей строке, присваивания нет, происходит по сути просто увеличение буфера, и максимум одно копирование.
&& и || — операции короткого замыкания, это записано в стандарте (в C, C++, Java). В Perl тоже короткое замыкание. Да и вообще во всех традиционных императивных языках.
— thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx
X1 Y1 Y2 Y3
X1 — первая команда, Y? — вторая.
Пусть int3 занимает два байта. Тогда если поставить брейкпоинт по адресу 100, получим:
Z1 Z2 Y2 Y3
Если в коде были переходы на адрес 101, то они сейчас сломаны, потому что переход будет осуществляться в середину команды int3 (это не вызовет выполнения команды int3, отладчик не сможет ничего подменить, будет выполнен какой-то мусор или вообще это будет считаться некорректным кодом).
Так что в принципе 24 Xeon, работающих в течении часа — это не то же самое что 1 Xeon, работающий сутки, особенно для алгоритмов оптимизированных для параллельного выполнения и требующих большого количества памяти на каждой ноде.
… или одной вполне обычной однопроцессорной машиной за 1-2 суток.
Таких вообще нельзя называть программистами. Тот, кто не знает, для чего нужен break является только начинающим программировать на императивных языках (вне зависимости от количества строк написанного production-кода).
2. $a .= $b;
> Первый вариант выполнятеся в сотни раз дольше.
Естественно (говорю даже не запуская). Смотрите:
1. Происходит вычисление правой части, в результате создаётся новая строка в памяти, и $a присваивается эта строка (в результате чего предыдущее значение внутри $a выбрасывается). Итого: одно выделение памяти, одно освобождение, два копирования.
2. Происходит добавление к уже существующей строке, присваивания нет, происходит по сути просто увеличение буфера, и максимум одно копирование.
www.php.net/manual/en/language.operators.logical.php
(Хоть бы сами документацию по PHP посмотрели, неужели это так сложно?)