kouzdra Below are 20 entries, after skipping 20 most recent ones in the "kouzdra" journal:

[<< Previous 20 entries -- Next 20 entries >>]

June 24th, 2009
02:35 pm

[Link]

Downfall of agile Hitler
Вчера в комментах подкинули прекрасное:



Тут вот другая перепевка того же самого фрагмента - похоже, что суть корпоративного гевалта авторами фильма уловлена совершенно универсально.

Tags: ,

(Leave a comment)

June 2nd, 2009
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:

(68 comments | Leave a comment)

May 18th, 2009
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:

(5 comments | Leave a comment)

April 9th, 2009
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:

(10 comments | Leave a comment)

02:02 am

[Link]

Программист, моя прелесстьььь
Диспут о программировании, в котором внезапно выясняется, что собеседник не в курсе, почему в
x/dx
нельзя сократить на
x
в Java нет передачи параметров по ссылке.

Tags: , ,

(41 comments | Leave a comment)

February 17th, 2009
08:58 am

[Link]

Чего только про С++ не узнаешь:

Koenig Lookup

Tags:

(12 comments | Leave a comment)

January 4th, 2009
03:53 pm

[Link]

"Новое в computer science"
http://forum.msk.ru/material/region/677789.html
С калотерапией не всё однозначно - Владимир Филаретов (2009.01.04 10:44)

Например, кроликам, отдельным видам обезьян и некоторым другим животным необходимо поедать свой кал, поскольку их пищеварительный тракт не в состоянии за один проход утилизировать все питательные вещества пищи.

В вычислительной технике распространен аналог этому явлению - многопроходный компилятор


via

Current Mood: Под столом
Tags: , , ,

(2 comments | Leave a comment)

October 27th, 2008
08:27 am

[Link]

Вот интересно - откуда берутся пидорасы нехорошие люди, которые делают девайсы, вынуждающие людей писать и искать такие howto-шки:
http://www.lockergnome.com/linux/2007/09/20/disable-your-notebook-touchpad-the-easy-way/

Tags:

(Leave a comment)

October 20th, 2008
11:45 pm

[Link]

Лытбыбр
Купил таки мегафоновский UMTS модем от фирмы с неприличным названием ХуаВей. Что интересно - в Комарово очень прилично работает - 100-200 килбайт в секунду.

Tags: ,

(2 comments | Leave a comment)

October 19th, 2008
10:12 pm

[Link]

фирменный продукт однако

Tags: ,

(6 comments | Leave a comment)

October 13th, 2008
02:32 am

[Link]

"Жизнь после смерти"
FrameworkPascal Multi-target 6.1 2008 commercial subscriptions

А сколько уж лет прошло.

Tags:

(Leave a comment)

August 28th, 2008
10:41 pm

[Link]

Ken Thompson unix backdoor

Tags:

(1 comment | Leave a comment)

August 25th, 2008
03:16 pm

[Link]

"Хорошо забытое старое"
Иногда забавно придумывать "современные" названия для старых вещей - выявляет некоторые параллели:

Что Simula-67 сейчас бы называлась Object Algol-60 я уже когда-то говорил.

Тут недавно пришла в голову мысль, что REXX сейчас бы определенно назывался PL/I-Script :)

Tags:

(4 comments | Leave a comment)

August 3rd, 2008
11:08 am

[Link]

Удивительное рядом...
А знаете ли вы, что вот такой код в языке ЦПП является корректным (а GCC даже предупреждения не выдает):

  switch (i) {
    do {
       case 1: break;
    } while (1);
    
  }

Tags: ,

(21 comments | Leave a comment)

April 29th, 2008
02:22 pm

[Link]

Тут наткнулся на очередного энтузиаста С++ с незамутненным вполне сознанием. Ну интереса ради написал три тестика - точнее один - на трех языках:

создание и сортировка (причина выбора теста была в упоминании std::sort в контексте Ну не нужно и все. И списки сортировать без библиотечных функций не нужно) массива из 2 млн строк, представляющих собой числа от 0 до 2_000_000 в дес.записи:
Read more... )

Tags:

(100 comments | Leave a comment)

March 5th, 2008
11:09 am

[Link]

Об интеллектуальных пидорасах из Apache Foundation
Угробил вчера весь вечер разбираясь, почему HttpClient отказывается в некоторых случаях работать с сайтом LJ, при этом прекрасно работая с LJR.

Сегодня наконец понял почему - оно по умолчанию подхватывает локальные куки и зачем-то впендюривает автоматически в запрос куку ljuniq - после чего есс-но запрос посылается нах (LJR, как более старый вариант этой куки просто не генерит).

после:
method.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES);;

проблема пофиксилась.

Людей, которые встраивают "умное поведение по умолчанию" в либы надо убивать на месте.

Tags: ,

(1 comment | Leave a comment)

January 21st, 2008
10:09 pm

[Link]

[info]lqp дал ссылку на забавную серию постингов про "обучение программированию". Там постоянно всплывают функциональные языки, но почему-то исключительно в контексте "понятности для математиков" (это, кстати, правда - проблемы с объяснением оператора присваивания я как-то раз тоже испытывал).
Read more... )

Tags:

(1 comment | Leave a comment)

09:53 pm

[Link]

Всех этих людей нужно убить
В очередной раз при пользовании виндой под нагрузкой прихожу в тихое озверение - при 100% загрузке процессора оно начинает дико тормозить. Даже при наборе текста. "Многозадачная операционная система", блин. Проблема была решена когда винды еще в проекте не было - а это чудо технологий все никак не может научиться.

Subj.

Tags: ,

(12 comments | Leave a comment)

December 26th, 2007
07:31 pm

[Link]

Атомное Слово
Увидел в сообщении об ошибке:

typedef int _Atomic_word;

Некоторое время въезжал в смысл :)

Tags: ,

(Leave a comment)

December 16th, 2007
03:31 pm

[Link]

Они везде!!!
Ноутбук, лежащий на коленках упорно пытается снять отпечатки пальцев с моего пуза, нависающего над датчиком

Tags: ,

(3 comments | Leave a comment)

[<< Previous 20 entries -- Next 20 entries >>]

My Website Powered by LJ.Rossia.org