Старый 23.06.2010, 17:34   #31   
взрываю мозг
 
Аватар для SuHar`
 
Сообщений: 3,568
Регистрация: 07.05.2003

SuHar` вне форума Не в сети
Цитата:
Сообщение от Freedom111 Посмотреть сообщение
php!!!!! сразу отплюнешь остальные языки! легкий, удобный!!! если что то не хватает библиотеку подсоединил и все! тот же С тока не такой дырявый
омг
по теме: имхо сначала нужно разобраться в алгоритмах и структурах данных и научиться самому их разрабатывать. Паскаль для этих целей неплохо подходит. И как говаривал один препод - уметь писать на одном языке программирования - то же самое, что уметь писать шариковой ручкой. Научиться писать гелевой или перьевой будет уже не сложно)))
 
Старый 23.06.2010, 17:41   #32   
взрываю мозг
 
Аватар для SuHar`
 
Сообщений: 3,568
Регистрация: 07.05.2003

SuHar` вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
Что такое "веб-программист" - я не очень понимаю. Кто пишет скрипты на ПыХаПы? Программированием это можно назвать только формально.
вот так новость.
Наверное когда появлялись первые ассемблеры, программисты тех времен тоже считали что это нововведение унылое говно и ниразу не труЪ))
 
Старый 23.06.2010, 18:22   #33   
Форумец
 
Аватар для Spectator
 
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47

Spectator вне форума Не в сети
Цитата:
Сообщение от SuHar` Посмотреть сообщение
вот так новость.
Наверное когда появлялись первые ассемблеры, программисты тех времен тоже считали что это нововведение унылое говно и ниразу не труЪ))
Ассемблер, да будет вам известно - это символический машинный код, т.е. то что напрямую преобразуется в команды конкретного процессора, т.е. самый нижний уровень.
 
Старый 23.06.2010, 19:12   #34   
взрываю мозг
 
Аватар для SuHar`
 
Сообщений: 3,568
Регистрация: 07.05.2003

SuHar` вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
Ассемблер, да будет вам известно
спасибо, что просветили. А мужики то не знают (с)
Цитата:
Сообщение от Spectator Посмотреть сообщение
это символический машинный код, т.е. то что напрямую преобразуется в команды конкретного процессора, т.е. самый нижний уровень.
непонятно только, где это я утверждал обратное, что вы непременно решили меня "поправить".

Последний раз редактировалось SuHar`; 23.06.2010 в 22:30.
 
Старый 23.06.2010, 19:22   #35   
Форумец
 
Сообщений: 28
Регистрация: 21.04.2010

exsulem вне форума Не в сети
Успокойтесь, старттопикера уже давно тут нет. Скорей всего он вообще сбежал нахер с фкн и теперь пойдет на эконом )))
Пхп это вроде серверсайд, который исполняется в момент обращения пользователя. Тобишь транслятор работает на различных железках, он как то распараллеливает нагрузку, наверняка есть какой то кэш обращений, что бы не генерить по сто раз одну index.php и т.д. и т.п., я не знаю - мне хп на пхп и веб программистов. Но если писать настоящий проект (с высокой нагрузкой и требованиями к безопасности, с бд и т.д.) все проблемы транслятора - это твои проблемы, ты их должен знать, понимать и уметь обходить в рамках представленных инструментов. Я знаю, что чтобы разобраться в таких аспектах, мне понадобиться времени в х раз меньше, потому что я могу проследить эти проблемы до самых корней. И на стадии проектирования проекта я уже разберусь с синтаксисом и всеми аспектами пхп, как со своим родным. То, что там на коленке лобают "веб программисты" – это не софтдеволпмент, это народное творчество. И кто не имеет этой базы - тупо будет заучивать, как собачка Павлова. Увидел ситуацию - рефлекс сработал, вышла новая версия пхп - все рефлексы устарели. Перестали в инете пхп пользовать - идешь охранником в супермаркет.
Как показывает практика, у нас очень мало программистов и куча разного самодовольного говна, от которого толку – ноль. Только разговоров было, что российская школа программистов, российская школа программистов и где она? У немцев доля софтдевелопмента в ВВП больше чем машиностроение. У амеров, канадцев, швейцарцев - все идет в гору и страны зарабатывают львиную долю ВВП уже на продаже "интеллектуальной" собственности. Мы все нефть качаем и гордимся нашей системой образования.
 
Старый 23.06.2010, 20:40   #36   
Out There
 
Аватар для Part!zan
 
Сообщений: 5,910
Регистрация: 13.12.2004
Возраст: 47

Part!zan вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
Любой, чтобы понимать как работает компьютер
Ассемблер вовсе не является необходимым знанием для успешного программирования. Он помогает, но нужен далеко не всем. Прикладникам и неизвестным тебе веб-программистам, людям, пишущим переносимый код, всяческим шарпистам и прочим дотнетчикам знание асма вообще ничего не даст, а только будет лишним грузом.
Более того, даже системщикам асм знать необязательно, достаточно хорошо знать архитектуру программируемого процессора/контроллера. По крайней мере, до тех пор, пока в нем (асме) не возникнет реальная нужда.

Цитата:
Сообщение от exsulem Посмотреть сообщение
потому что я могу проследить эти проблемы до самых корней
Будешь писать свой транслятор пхп? "Мамы всякие нужны, мамы всякие важны" Никто не поручит разработку челу, который вместе с, собственно, проектом придумает новый язык, напишет для него компилятор и сделает ось, в которой это все будет работать. Потому что это нафиг никому не нужно.
 
Старый 23.06.2010, 21:37   #37   
Форумец
 
Аватар для Spectator
 
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47

Spectator вне форума Не в сети
Цитата:
Сообщение от Part!zan Посмотреть сообщение
Ассемблер вовсе не является необходимым знанием для успешного программирования. Он помогает, но нужен далеко не всем. Прикладникам и неизвестным тебе веб-программистам, людям, пишущим переносимый код, всяческим шарпистам и прочим дотнетчикам знание асма вообще ничего не даст, а только будет лишним грузом.
Более того, даже системщикам асм знать необязательно, достаточно хорошо знать архитектуру программируемого процессора/контроллера. По крайней мере, до тех пор, пока в нем (асме) не возникнет реальная нужда.
Это не так)))
Ассемблер на самом деле неплохо бы знать вообще всем, кто хоть что-то разрабатывает. Даже 1С-никам)))
А сама по себе архитектура в отрыве от знания того как она работает не даст ничего)))
При чем тут переносимый код - не понимаю))) Даже между процессорами cisc и risc архитектур общего больше чем различного)))
 
Старый 23.06.2010, 21:46   #38   
Out There
 
Аватар для Part!zan
 
Сообщений: 5,910
Регистрация: 13.12.2004
Возраст: 47

Part!zan вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
архитектура в отрыве от знания того как она работает
Знание архитектуры - это и есть знание о том, как она работает. Можно не знать асм, однако знать , как все работает. И вообще, что значит "знать асм"? Знать наизусть все мнемоники? Или уметь писать на асме? Или знать пару-тройку, утрированно, мнемоник, которые чаще всего в дизассемблере попадаются?
Цитата:
Сообщение от Spectator Посмотреть сообщение
При чем тут переносимый код
При том, что переносимому коду накласть на архитектуру. Потому он и переносимый.

А можно личный вопрос? Чего ты смеешься все время? Нездорово как-то выглядит...
 
Старый 23.06.2010, 22:39   #39   
Fun-Da-Mental
 
Аватар для dr-sm
 
Сообщений: 201
Регистрация: 08.04.2005

dr-sm вне форума Не в сети
а дотнетчикам и джавистам, нада учить ассемблер для ихниг витруальных машин, чтобы, так сказать, тоже знать архитектуру .
 
Старый 24.06.2010, 01:07   #40   
Форумец
 
Аватар для Spectator
 
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47

Spectator вне форума Не в сети
Цитата:
Сообщение от Part!zan Посмотреть сообщение
Знание архитектуры - это и есть знание о том, как она работает. Можно не знать асм, однако знать , как все работает.
Ну да, можно знать и философию, никогда не слышав о Канте, но сложно))
Вообще это и зная ассемблер достаточно сложно, если по секрету)))

Цитата:
Сообщение от Part!zan Посмотреть сообщение
И вообще, что значит "знать асм"? Знать наизусть все мнемоники? Или уметь писать на асме? Или знать пару-тройку, утрированно, мнемоник, которые чаще всего в дизассемблере попадаются?
Мнемоника - это СИМВОЛИЧЕСКАЯ запись, я же говорю о МАШИННОМ КОДЕ. Вы даже не понимаете разницы, а ведь беретесь спорить))) Ну не смешно ли это?

Цитата:
Сообщение от Part!zan Посмотреть сообщение
При том, что переносимому коду накласть на архитектуру. Потому он и переносимый.[/COLOR]
Вот именно об этом я и говорю - Вы НЕ ПОНИМАЕТЕ как Ваш код работает, оттого и такие рассуждения. Просто не понимаете что вообще творите)))
 
Старый 24.06.2010, 01:09   #41   
Форумец
 
Аватар для Spectator
 
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47

Spectator вне форума Не в сети
Цитата:
Сообщение от dr-sm Посмотреть сообщение
а дотнетчикам и джавистам, нада учить ассемблер для ихниг витруальных машин, чтобы, так сказать, тоже знать архитектуру .
Вам бы я посоветовал начать с языка русского. Тоже не помешает.
 
Старый 24.06.2010, 01:16   #42   
Fun-Da-Mental
 
Аватар для dr-sm
 
Сообщений: 201
Регистрация: 08.04.2005

dr-sm вне форума Не в сети
вобщем всем срочно нужно опустицо даже до уровня микрокодов!
странность в том, что для суперскалярных процессоров, сложновато человеческому мозгу написать оптимальный алгоритм в машинных кодах, сложновато ).
 
Старый 24.06.2010, 09:41   #43   
Форумец
 
Сообщений: 1,857
Регистрация: 25.06.2007
Возраст: 34

Flaming вне форума Не в сети
Freedom111, Великий Гугль пхп почему-то недолюбливает =)
 
Старый 24.06.2010, 12:06   #44   
Форумец
 
Аватар для Spectator
 
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47

Spectator вне форума Не в сети
Цитата:
Сообщение от dr-sm Посмотреть сообщение
вобщем всем срочно нужно опустицо даже до уровня микрокодов!
странность в том, что для суперскалярных процессоров, сложновато человеческому мозгу написать оптимальный алгоритм в машинных кодах, сложновато ).
Как раз наоборот, чем сложнее система, тем меньше доверия оптимизирующему компилятору))) И если ключевые алгоритмы (обычно они занимают менее чем экран кода на С) переписать на ассемблере с учетом архитектуры конкретного процессора, можно добиться увеличения производительности порядка 1000%)))
 
Старый 24.06.2010, 12:11   #45   
старый хрыч
 
Аватар для X0R
 
Сообщений: 6,334
Регистрация: 17.12.2006
Возраст: 38

X0R вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
переписать на ассемблере с учетом архитектуры конкретного процессора
то то халф лайф 2 не могут на линух портировать, хорошо они в математической либе с асмом поиграли.
Цитата:
Сообщение от Spectator Посмотреть сообщение
можно добиться увеличения производительности порядка 1000%)))
не голословные примеры будут?
 
Старый 24.06.2010, 13:04   #46   
Форумец
 
Сообщений: 1,857
Регистрация: 25.06.2007
Возраст: 34

Flaming вне форума Не в сети
Цитата:
Сообщение от X0R Посмотреть сообщение
то то халф лайф 2 не могут на линух портировать, хорошо они в математической либе с асмом поиграли.
Цитата:
http://www.linux.org.ru/news/games/2728078
 
Старый 24.06.2010, 13:37   #47   
старый хрыч
 
Аватар для X0R
 
Сообщений: 6,334
Регистрация: 17.12.2006
Возраст: 38

X0R вне форума Не в сети
Flaming, портировали?
 
Старый 24.06.2010, 16:32   #48   
бибизьян
 
Аватар для aerin
 
Сообщений: 3,020
Регистрация: 17.02.2004

aerin вне форума Не в сети
Цитата:
Сообщение от Spectator
Как раз наоборот, чем сложнее система, тем меньше доверия оптимизирующему компилятору))) И если ключевые алгоритмы (обычно они занимают менее чем экран кода на С) переписать на ассемблере с учетом архитектуры конкретного процессора, можно добиться увеличения производительности порядка 1000%)))
Вы в состоянии написать код с учетом архитектуры скажем i7? Без промахов кеша и с учетом параллелизма? Ню-ню...
 
Старый 24.06.2010, 22:27   #49   
Форумец
 
Аватар для Spectator
 
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47

Spectator вне форума Не в сети
Цитата:
Сообщение от aerin Посмотреть сообщение
Вы в состоянии написать код с учетом архитектуры скажем i7? Без промахов кеша и с учетом параллелизма? Ню-ню...
В состоянии. Промахи кэша показываются, для этого есть специализированные программы, причем, в том числе - весьма простые)) Не говоря уже о том что современные (как минимум Intel'овские) процессоры реализуют такие счетчики - ошибок кеша - на аппаратном уровне))) С распараллеливание инструкций будет посложнее, но это не вопрос "вы в состоянии", это вопрос времени. Программы не пишутся на бумажке, они пишутся с использованием компилятора, отладчика, профайлера и прочих инструментов)) Что, при понимании этого богатства, облегчает жизнь значительно)) Если к этому присовокупить качественные академические знания, то из области фантастики вполне можно дойти и до реальности)))
Отладка экрана кода может занять и месяц, при этом при всем, но если это правильно выбранный ключевой алгоритм - то это может ускорить всю программу в разы. Для того чтобы определить - какой алгоритм является ключевым есть профайлеры))) Чтобы понять - что с этим делать - есть официальные руководства от производителей процессоров.
Все решаемо
 
Старый 24.06.2010, 23:34   #50   
старый хрыч
 
Аватар для X0R
 
Сообщений: 6,334
Регистрация: 17.12.2006
Возраст: 38

X0R вне форума Не в сети
Цитата:
Сообщение от X0R Посмотреть сообщение
не голословные примеры будут?
............
 
Старый 25.06.2010, 08:06   #51   
Форумец
 
Аватар для Andrei_ra
 
Сообщений: 612
Регистрация: 14.05.2008
Возраст: 42

Andrei_ra вне форума Не в сети
Как-то непонятно, да согласен что официальные разработчики компиляторов и еже с ними другого софта - не самые умные люди на земле, но лезть туда где работала группа людей, тем более имеющих вес в области разработок и не один год обычно, это как-то слишком самоуверенно, да и к тому же разработка софта это все-таки получение прибыли в первую очередь (не будем считать редких альтруистов), а если вы будете настолько углубляться в процессе разработки, то интересно какова рентабельность вашей работы будет?
 
Старый 25.06.2010, 11:10   #52   
Форумец
 
Аватар для Spectator
 
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47

Spectator вне форума Не в сети
Цитата:
Сообщение от X0R Посмотреть сообщение
то то халф лайф 2 не могут на линух портировать, хорошо они в математической либе с асмом поиграли.
не голословные примеры будут?
Моего кода? Нет, конечно, весь код, который я оптимизировал на ассемблере является частью реальных коммерческих продуктов. Для души я этим никогда не занимался, это не самое увлекательное занятие.
 
Старый 25.06.2010, 11:23   #53   
Форумец
 
Аватар для Spectator
 
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47

Spectator вне форума Не в сети
Цитата:
Сообщение от Andrei_ra Посмотреть сообщение
Как-то непонятно, да согласен что официальные разработчики компиляторов и еже с ними другого софта - не самые умные люди на земле, но лезть туда где работала группа людей, тем более имеющих вес в области разработок и не один год обычно, это как-то слишком самоуверенно, да и к тому же разработка софта это все-таки получение прибыли в первую очередь (не будем считать редких альтруистов), а если вы будете настолько углубляться в процессе разработки, то интересно какова рентабельность вашей работы будет?
А куда надо лезть? Никакой оптимизатор никогда не оптимизирует код идеально с учетом всех аспектов. Иногда оказывается что нужно отказаться от одной переменной внутри цикла и тогда все переменные поместятся в регистры, или разбить цикл на два последовательных (и это будет работать быстрее))), в некоторых случаях ), и даже не надо ничего руками писать на ассемблере. Ни один компилятор на свете тебе не скажет - слыш, брателло, выкинул бы ты вот эту переменную и у тебя всё будет зашибись.
Цикл от 5 до 1 for (i=5; i>0; i--) работает быстрее чем цикл от 1 до 5 for (i=1; i<=5; i++) , потому что команда проверки содержимого регистра на ноль работает быстрее чем команда сравнения с ненулевым числом (на самом деле даже не одна команда), знать о таких вещах можно только если знаешь ассемблер. И если тело цикла невелико, а итераций достаточно много, то это может дать запросто 25% прироста.
Это в качестве простейшего примера. И никакой компилятор за тебя цикл не "перевернет".
Т.е. иногда достаточно просто знать ассемблер, даже не писать на нем и программа будет работать быстрее)))
 
Старый 25.06.2010, 12:21   #54   
взрываю мозг
 
Аватар для SuHar`
 
Сообщений: 3,568
Регистрация: 07.05.2003

SuHar` вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
И никакой компилятор за тебя цикл не "перевернет".
это делает даже тупорылый оптимизатор в делфи
Миниатюры
Нажмите на изображение для увеличения
Название: Untitled-1.jpg
Просмотров: 37
Размер:	88.2 Кб
ID:	844639  
 
Старый 25.06.2010, 12:48   #55   
бибизьян
 
Аватар для aerin
 
Сообщений: 3,020
Регистрация: 17.02.2004

aerin вне форума Не в сети
Spectator не позорьтесь, то что вы пишете про циклы - это даже не вчерашний день...
Зайдите на сайт Intel-а и почитайте про технологии Interprocedural Optimization, High-Performance Parallel Optimizer, Auto-vectorization и т.д.. Я уж не говорю про специализированные библиотеки для тяжелых расчетов. А еще лучше скачайте там же демо версию компайлера Intel C++ и посмотрите на код, который он сгенерит.
 
Старый 25.06.2010, 12:59   #56   
Форумец
 
Аватар для Spectator
 
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47

Spectator вне форума Не в сети
Цитата:
Сообщение от SuHar` Посмотреть сообщение
это делает даже тупорылый оптимизатор в делфи
Вставьте вызов функции с параметром i, уверен что этого будет достаточно для того чтобы такой оптимизации уже не было.
 
Старый 25.06.2010, 13:04   #57   
Форумец
 
Аватар для Spectator
 
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47

Spectator вне форума Не в сети
Цитата:
Сообщение от aerin Посмотреть сообщение
Spectator не позорьтесь, то что вы пишете про циклы - это даже не вчерашний день...
Зайдите на сайт Intel-а и почитайте про технологии Interprocedural Optimization, High-Performance Parallel Optimizer, Auto-vectorization и т.д.. Я уж не говорю про специализированные библиотеки для тяжелых расчетов. А еще лучше скачайте там же демо версию компайлера Intel C++ и посмотрите на код, который он сгенерит.
Я знаю что оптимизация в компиляторах развивается, я знаю что такое Interprocedural Optimization, тем не менее для правильной оптимизации необходимо учитывать логику работы алгоритма, компилятор это сделать просто не в состоянии.
 
Старый 25.06.2010, 13:05   #58   
старый хрыч
 
Аватар для X0R
 
Сообщений: 6,334
Регистрация: 17.12.2006
Возраст: 38

X0R вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
Моего кода? Нет, конечно
слив засчитан
 
Старый 25.06.2010, 14:00   #59   
Fun-Da-Mental
 
Аватар для dr-sm
 
Сообщений: 201
Регистрация: 08.04.2005

dr-sm вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
Как раз наоборот, чем сложнее система, тем меньше доверия оптимизирующему компилятору))) И если ключевые алгоритмы (обычно они занимают менее чем экран кода на С) переписать на ассемблере с учетом архитектуры конкретного процессора, можно добиться увеличения производительности порядка 1000%)))
с этим согласен, но это верно для очень узкого круга приложений, игры там и тп.
в большинстве реальных задач алгоритмическая оптимизация редко бывает необходимой, если не рассматривать уж случаи откровенного тупняка. основные потери в сложных приложениях возникают не изза компилятора, а по более высокоуровневым причинам: тупо ждем ио 99% времени, кривой контекст свитчинг, дофига сисколлов, livelocks, и тп. и проблемы эти актуальны как для тех кто на асме пишет, так и для тех кто пишет на Java.
 
Старый 25.06.2010, 14:02   #60   
взрываю мозг
 
Аватар для SuHar`
 
Сообщений: 3,568
Регистрация: 07.05.2003

SuHar` вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
Вставьте вызов функции с параметром i, уверен что этого будет достаточно для того чтобы такой оптимизации уже не было.
такой - да. другая будет. используется команда cmp и условие цикла все равно через jnz проверяется. Насколько это оправданная вещь - не знаю, врать не буду. Но тем не менее))
а вообще что-т флуд и оффтоп пошел. надо бы закругляться.
 
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind