02:35 pm
[Link] |
Downfall of agile Hitler Вчера в комментах подкинули прекрасное:
Тут вот другая перепевка того же самого фрагмента - похоже, что суть корпоративного гевалта авторами фильма уловлена совершенно универсально.
Tags: Компутерщина, Просто хорошее
|
02:34 pm
[Link] |
О пресловутой "эффективности" С++: К этой вот табличке (отсюда):
Я интереса ради сделал то, что советовали в комментах:
Написал вариант с кучей - с тремя вариантами - с auto_ptr, с shared_ptr "по-минимуму" и с shared-же ptr "по максимуму" - результат получился ожидаемый:
Time=2.19 (калибровочный исходный тест) Time=41.44 (heap+auto_ptr) Time=87.41 (heap+shared_ptr/min) Time=83.87 (heap+shared_ptr/max)
Для калибровки еще Жаба: Time=2.459 (inline вариант) Time=9.026 (с классом complex)
Ну и OCaml (варианты из исходной статьи): Time: 6.73479 Time: 8.0783 Time: 79.8885
И Haskell:
16.699
То есть мораль смешная - С++ ведет себя хорошо ровно до того момента, пока не начинается работа с кучей - и с этого момента он превращается в полную жопу даже по эффективности, даже по сравнению с O'Caml, у которого с плавающей арифметикой очень плохо, а объектность малоэффективна (там все методы виртуальные, причем диспатчатся они очень хитро, по причине структурного, а не именного subtyping'a у объектов - вариант того, как такое надо писать на ML, если уж нужен офигенный полиморфизм - см. update).
Это, не говоря уж о потенциальной глючности и сложности кодирования плюсовой кучи.
Упреждая стандартный вопрос "зачем здесь куча" - отвечаю - здесь - ни зачем, но как только она понадобится - С++ начнет проигрывать всему, чему только можно (нет - есть конечно всякие аллокаторы, пулы и прочие финты ушами, которые более или менее вытянут перформанс, но это уже гемморой)
( Haskell code: ) Upd: И еще вариант на O'Caml с максимальным полиморфизмом, но без ОО-жопы - в ML-style - с параметризоваными модулями - работает 17 секунд: ( Kod: ) Upd2: Справедливости ради, если сделать совсем кастомный аллокатор для класса, цифирь начинает выглядеть так:
Time=2.2 Time=4.08 Time=49.42 Time=60.18
Но shared_ptr'ы все равно остаются ужасом и моральным террором.
( Кастомный аллокатор: )
Tags: Компутерщина
|
08:13 pm
[Link] |
Идиотическое:
void Server::select_w (Str::C const fname, Str::C const from, Str::C const to)
{
Src::O const src_o = project -> find_src (fname);
if (!src_o) return;
static Src::R const src = src_o.val();
...
Долго и тупо смотрел и думал, где тут ошибка :)
Tags: Компутерщина
|
02:43 am
[Link] |
Задачко.... А вот предыдущим трепом навело на старую задачку:
Написать на Algol-60 процедуру, меняющую местами значения своих аргументов (целочисленных для конкретности): аналог C++-ной функции:
void swap (int & a, int & b) {
int t = a;
a = b;
b = a;
}
Для тех кто не вполне осознает суть трабла: в A-60 есть call-by-name, но нет call-by-reference и требуется, чтобы конструкции вроде
swap (i, a [i]); работали.
PS: можно ее решить или нет - я до сих пор не знаю - подозреваю, что нет.
Tags: Компутерщина
|
02:02 am
[Link] |
Программист, моя прелесстьььь Диспут о программировании, в котором внезапно выясняется, что собеседник не в курсе, почему в x/dx нельзя сократить на x в Java нет передачи параметров по ссылке.
Tags: Вестник Дурдома, Компутерщина, Кунсткамера
|
08:58 am
[Link] | Чего только про С++ не узнаешь:
Koenig Lookup
Tags: Компутерщина
|
03:53 pm
[Link] |
"Новое в computer science" http://forum.msk.ru/material/region/677789.html С калотерапией не всё однозначно - Владимир Филаретов (2009.01.04 10:44)
Например, кроликам, отдельным видам обезьян и некоторым другим животным необходимо поедать свой кал, поскольку их пищеварительный тракт не в состоянии за один проход утилизировать все питательные вещества пищи.
В вычислительной технике распространен аналог этому явлению - многопроходный компилятор
via
Current Mood: Под столом Tags: Жесть, Компутерщина, Нанотехнологии, Просто хорошее
|
08:27 am
[Link] | Вот интересно - откуда берутся пидорасы нехорошие люди, которые делают девайсы, вынуждающие людей писать и искать такие howto-шки: http://www.lockergnome.com/linux/2007/09/20/disable-your-notebook-touchpad-the-easy-way/
Tags: Компутерщина
|
11:45 pm
[Link] |
Лытбыбр Купил таки мегафоновский UMTS модем от фирмы с неприличным названием ХуаВей. Что интересно - в Комарово очень прилично работает - 100-200 килбайт в секунду.
Tags: Компутерщина, Лытдыбр
|
10:12 pm
[Link] |
фирменный продукт однако
Tags: Компутерщина, Кунсткамера
|
02:32 am
[Link] |
"Жизнь после смерти" FrameworkPascal Multi-target 6.1 2008 commercial subscriptions
А сколько уж лет прошло.
Tags: Компутерщина
|
10:41 pm
[Link] | Ken Thompson unix backdoor
Tags: Компутерщина
|
03:16 pm
[Link] |
"Хорошо забытое старое" Иногда забавно придумывать "современные" названия для старых вещей - выявляет некоторые параллели:
Что Simula-67 сейчас бы называлась Object Algol-60 я уже когда-то говорил.
Тут недавно пришла в голову мысль, что REXX сейчас бы определенно назывался PL/I-Script :)
Tags: Компутерщина
|
11:08 am
[Link] |
Удивительное рядом... А знаете ли вы, что вот такой код в языке ЦПП является корректным (а GCC даже предупреждения не выдает):
switch (i) {
do {
case 1: break;
} while (1);
}
Tags: Вестник Дурдома, Компутерщина
|
02:22 pm
[Link] | Тут наткнулся на очередного энтузиаста С++ с незамутненным вполне сознанием. Ну интереса ради написал три тестика - точнее один - на трех языках:
создание и сортировка (причина выбора теста была в упоминании std::sort в контексте Ну не нужно и все. И списки сортировать без библиотечных функций не нужно) массива из 2 млн строк, представляющих собой числа от 0 до 2_000_000 в дес.записи: ( Read more... )
Tags: Компутерщина
|
11:09 am
[Link] |
Об интеллектуальных пидорасах из Apache Foundation Угробил вчера весь вечер разбираясь, почему HttpClient отказывается в некоторых случаях работать с сайтом LJ, при этом прекрасно работая с LJR.
Сегодня наконец понял почему - оно по умолчанию подхватывает локальные куки и зачем-то впендюривает автоматически в запрос куку ljuniq - после чего есс-но запрос посылается нах (LJR, как более старый вариант этой куки просто не генерит).
после: method.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES);;
проблема пофиксилась.
Людей, которые встраивают "умное поведение по умолчанию" в либы надо убивать на месте.
Tags: Интернет, Компутерщина
|
10:09 pm
[Link] | lqp дал ссылку на забавную серию постингов про "обучение программированию". Там постоянно всплывают функциональные языки, но почему-то исключительно в контексте "понятности для математиков" (это, кстати, правда - проблемы с объяснением оператора присваивания я как-то раз тоже испытывал). ( Read more... )
Tags: Компутерщина
|
09:53 pm
[Link] |
Всех этих людей нужно убить В очередной раз при пользовании виндой под нагрузкой прихожу в тихое озверение - при 100% загрузке процессора оно начинает дико тормозить. Даже при наборе текста. "Многозадачная операционная система", блин. Проблема была решена когда винды еще в проекте не было - а это чудо технологий все никак не может научиться.
Subj.
Tags: Компутерщина, Человеконенавистническое
|
07:31 pm
[Link] |
Атомное Слово Увидел в сообщении об ошибке:
typedef int _Atomic_word;
Некоторое время въезжал в смысл :)
Tags: Компутерщина, Лытдыбр
|
03:31 pm
[Link] |
Они везде!!! Ноутбук, лежащий на коленках упорно пытается снять отпечатки пальцев с моего пуза, нависающего над датчиком
Tags: Компутерщина, Лытдыбр
|