Pull to refresh
75
0
Vadim Fint @mocksoul

User

Send message
оО
вы что не верите?

ну сделайте что-нибудь, полуполезное. Например возьмите штук 100 строк. Запихните в массив, потом прошвырнытесь по нему, поискав строку с вхождением какого-нибудь слова. Соберите из получившихся одну большую строку. И выплюньте.

а) С++. Всё зашвыриваем в String-и, и поиск и тп хрень - всё через них
б) на Си чуть проблематичнее =). Искать слова - перебором символов из памяти.

Я это делал стопроцентно. Не прямо такую задачку, но String и прочее из stdc++ с сишными алгоритмами сравнивал. Правда сто лет назад.

Если вам не по силам все енто самому написать - могу ближе к вечеру сдуть пыль с Си =). Даже самому интересно стало - хочу четкое количество тактов посмотреть, проводимое в методах String.
да нифига не забавно.

он ведь тоже не дурак, а слушать собеседников не хочет.
хватит кричать.

напишите программку А в которой используете класс String и libc++. И программку Б в которой сделаете то же самое через прямые операции с памятью.

Кол-во тактов процессора будет отличаться раз в 300. Не 1 или 2, а именно 300.
что ж вы тут заладили с проблемой формулировок (оба). Всем понятно что на чистом Си (тут даже не полиформизм лепту вносит, а stdlib) всё работает намного шустрее. И опять же всем понятно что с помощью компиллятора С++ можно скопмилировать чистый Си. Разница - только в способе написания.

Я даже и не знаю как правильнее это назвать - "программа быстрее", "язык быстрее" или "конструкции языка" быстрее - какая разница? Если вы пишете на плюсах, то, скорее всего, со строками работаете через String. Если на си - то через операции с памятью. Разница в скорости будет огромна.

Если уж сравнивать Си и C++, то нужно сравнить две гипотетические программы где Си использует всё что может, и С++ использует ВСЁ (т.е. со строками раобтать именно через String). Если так сравнивать - си конечно быстрее, до тех пор пока не начинаешь имитировать объекты в плюсах (ну, или когда в си нужно хранить строки с нулевыми байтами) =)
ну.. сорри но сейчас уже довольно непросто найти все что происходило =)

там когда запостили впервые о Wide Finder - куча блогов писали о нём, так вот через полчаса кто-то сразу на эрланге прислал решение. В упор не помню кто, а шарахаться по рсскам и анализировать кто же это был - мне тяжеловато. Хотите верьте, хотите - нет =).
да вы же уже результаты смотрите конечные. Эрланга вариантов там и то куча =). Вначале был эрланг который рвал всех (условием был минимум 8-ядерник SUN) и был достаточно прост.

Если бы вы почитали о вариантах на перле и питоне - там не в количествах строк дело, а в абстракции логики. mmap io, chunked reading... это всё весело, но использовать постоянно - нереально (не разумно сложно). Стоит ещё иметь ввиду что задача-то предельно простая =). При более сложной задаче это будет в разы сложнее.

Эрланг тоже не строками мерить надо, а сложностью. Для всех кто понимает эрланг и питон решение на эрланги выглядит проще, чем решение на питоне =).
а вы правила читали? Какой дуалкоре нафик.
угу
результаты первой половинки - http://www.tbray.org/ongoing/When/200x/2…
вы зря.
на ерланге пишут часто. CouchDB - последнее что мне попадалось.
сравнивать erlang с Си (как там люди вверху делали) - абсурд. На си для 128-ядерного сервера всегда будет можно написать монстроидальное приложение, загрузив сервер на максимум. Вот только времени это займёт - тонну.

Сравнивать ерланг по производительности с чем-то там ещё вообще нет смысла. Суть-то в том, что даже на питоне занять 128 ядер можно (пока) только форкая процессы. Тут 3 месяца назад была задачка - многопоточный парсинг лога, которая превратилась в конкурс (погуглите). Так вот там на ерланге за полчаса кто-то наваял малююююсенькую штучку которая просто разорвала питон и все остальное (даже си). Ребята всполошились и понеслась... в течении недели все улучшали код на разных языках. Питон потом обогнал ерланг (но ТАКОЙ ценой, стоило только посмотреть что было в исходниках чтобы понять сложность). Затем кто-то вывел в перёд перл, и так он там и остался. Вот только код на перле тоже был сумасшедшим. И всего на чуть-чуть процентов быстрее чем на ерланге =). Собственно - полчаса vs неделя? Ни один сервер не стоит столько денег, сколько составила бы разница в стоимости разработчиков для большого проекта.
соц. сеть не сможет объединить людей которые просто оказались где-то рядом. Люди строят связи не по принципу - кто рядом, а по принципу - кто интересен. Вы ведь не общаетесь с соседями в вашей парадной так же сильно как с друзьями? Или может общаетесь и хотите замутить проект "сосед.ру"? )))

Посмотрите на фейсбук внимательно. Они в одном проекте сделали возможность постороения любых соц. связей - будь то универ, или офис, или дружба, или война =)).
"Вам никогда не хотелось найти своего коллегу, с которым работали лет 5 назад, обсудить его успехи по карьере, узнать, где он теперь работает, какая у него должность и какая зарплата? Вам никогда не хотелось узнать, что стало с той «шарашкиной конторой», в которой Вы начинали карьеру? Вам никогда не хотелось посмотреть на новую секретаршу в компании, из который вы уволились 2 недели назад?"

нет, нет и нет =).. Чем не аргумент? ))))))
чорт
работать вам над собой ещё работать и работать.

статья не представляет ровным счетом никакого интереса любому кто хоть немного думал о социальных сетях и собирал информацию.
матерь божья

Но div'ы не могут отобразить структуру документа, для этого семантически более подходят списки, потому как они, в отличие от div'ов передают иерархию и связи, которые присутствуют между элементами.


это, господа, пипец полный.
если бы этого не было - использовать такие фреймворки вообще было бы нереально. Но опкоды - не панацея, проверка времени изменения сотни файлов требует времени, и не мало.
осталось только ещё понять что вы в своих примерах вообще используете исключения как простой status return.

Мощь-то их вся проявляется совсем не в таком коде.. а когда у тебя в десятой по глубине функции экспшн кидается, а ловишь ты его соооооовсем в другом месте. Тем самым код обработки ошибок вообще никак может быть не связан с бизнес логикой. Но оттого код ловли ошибок может стать "нивидимым".

Думать надо головой, в любой случае =).
а на яве не сможете (:

полностью ОО-язык это как раз тот и есть который не позволяет процедурного программирования. Хотя необходимость наличия классов опять же этого не показывает.
нет, никак не завязано. Исключения - это просто способ отматывать стеки обратно в поиске кода, который исключение поймает. В некоторых языках можно даже продолжить выполнение программы в том месте, где остановились, и это все при том что как правило исключения ловятся совсем в другом месте.

Вон, тот же питон позволяет выкидывать даже циферки и строки =).
в последнем абзаце - "которые НЕ хочется ловить". Ауч.
1. исключение - это "some condition that changes the normal flow of execution.". Следовательно, любая ошибка в процессе реализации задачи (ну скажем хотели файлик прочитать с винта, а прав нет) является исключением.
2. workflow != flow.
3. "Status returns are inferior to exceptions. All modern programming systems provide tools for exception handling. Use them." В PHP везде уйма варнингов и нотисов лишь по той простой причине, что слишком дофига std библиотеке переписывать надо.

Я причем не говорю что вообще нотисов и варнингов не должно быть. Должны быть, но те такие которые хочется ловить. Т.е. deprecation warning конечно никто швырять не будет.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity