Почитал я тут всякой всячины на тему оптимизации кода

Все, что вы хотели знать о программизме, но боялись спросить.
Аватара пользователя
Marmot
Графоман
Сообщения: 39279
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

Старина Зотин писал(а): > А он теперь никак игрухи пишет?

EA
Ага, таперича понятно стало нафига это нужно :)

Ну вобщем да, я наверное соглашусь со Стариной, было бы здорово написать что нибудь такое:

array.executeUpdate("UPDATE Value+=3 WHERE Value >10");

Хотя, конечно кроме игрушек и каких-нибудь 3D renders это нафиг никому не нужно.
Аватара пользователя
sz
Маньяк
Сообщения: 1266
Зарегистрирован: 17 фев 2003, 19:34

Сообщение sz »

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

но только писать нужно не:
array.executeUpdate("UPDATE Value+=3 WHERE Value >10");

а что-то в духе

void func( int* array, int size )
{
update<size> *array += 3 where *array > 10;
}

запрос на этапе компиляции должен разбираться, а не в рантайме :)
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Сообщение aissp »

Я бф написал таки update<int> потому как update<size> смотриться как то не очень 8)
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

Мой начальник подсказал мне, что есть АПИ для веторный вычислений. Я не вдавался в подробности с распросами. Этого АПИ мало?
Аватара пользователя
sz
Маньяк
Сообщения: 1266
Зарегистрирован: 17 фев 2003, 19:34

Сообщение sz »

Ну во-первых, я не знаю, что за API он имеет в виду.
А во-вторых, у нас есть всякие хелпер классы типа IntrinsicVector писанные на асме. С их помощью код разгоняется в десятки раз. Но читать такой код тяжко - ничего не понятно. Хотелось бы какого-то более человечного кода. Чтобы компайлер сам разбирался, как оптимизировать.
Аватара пользователя
Marmot
Графоман
Сообщения: 39279
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

Похоже Старине нижно что похожее на вот это http://en.wikipedia.org/wiki/Cg_programming_language
Low level(C-like) domain specific language.
Аватара пользователя
Marmot
Графоман
Сообщения: 39279
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

BTW, interesting presentation directly related to the topic:
http://www.st.cs.uni-sb.de/edu/seminare ... sweeny.pdf
Аватара пользователя
sz
Маньяк
Сообщения: 1266
Зарегистрирован: 17 фев 2003, 19:34

Сообщение sz »

Цифры у него какие-то слабо реалистичные.
30-60 frames per second при 10000 active gameplay objects и это при наличии physics simulation и collision detection..
Не верю.
Аватара пользователя
Marmot
Графоман
Сообщения: 39279
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

Старина Зотин писал(а):Цифры у него какие-то слабо реалистичные.
30-60 frames per second при 10000 active gameplay objects и это при наличии physics simulation и collision detection..
Не верю.
А чего, слишком много, или слишком мало? Я в этом деле не копенгаген :)
Хотя там в основном насчёт языка, ссылочку, кстати, надыбал вот тут: http://lambda-the-ultimate.org/
Народ тутошний ну очень любит языки почесать насчёт языков разных :)
Аватара пользователя
sz
Маньяк
Сообщения: 1266
Зарегистрирован: 17 фев 2003, 19:34

Сообщение sz »

А чего, слишком много, или слишком мало?
Если коротко, то совершенно невероятные цифры. Так быстро рассчитать кадр невозможно. Ну разве что Крей справится.. Если распараллелить как следует.

Кроме того, мне непонятно, зачем им 10000 объектов на экране одновременно.
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

я думаю они объекты с треугольниками перепутали :)
Аватара пользователя
sz
Маньяк
Сообщения: 1266
Зарегистрирован: 17 фев 2003, 19:34

Сообщение sz »

Может и с треугольниками.
Я, честно говоря, не знаю, как технология с треугольниками работает.
Мы совершенно честнейшим образом скелет моделируем. И на тех кто треугольниками делает смотрим свысока ;)
Аватара пользователя
Leo Gan
Маньяк
Сообщения: 1764
Зарегистрирован: 29 апр 2005, 16:55
Откуда: где-то рядом с жёлтым карликом
Контактная информация:

Сообщение Leo Gan »

А что про rule-based языки думаете? Из старых Prolog, наверное, всем известен.
Из новых - Майкрософтовский F#, опять же Майкрософтовский Business Rule Engine из BizTalk, плюс новый но не совсем Rete-овский энжине в WWF.
Ren
Частый Гость
Сообщения: 25
Зарегистрирован: 23 авг 2005, 00:56

Сообщение Ren »

Старина Зотин писал(а):
А чего, слишком много, или слишком мало?
Если коротко, то совершенно невероятные цифры. Так быстро рассчитать кадр невозможно. Ну разве что Крей справится.. Если распараллелить как следует.

Кроме того, мне непонятно, зачем им 10000 объектов на экране одновременно.
10000 объектов это всего, скажем в сцене. за кадр расчитываются не все, а какая-то часть только.
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

sz, смотри какая вешь сегодня в новостях всплыла -

http://www.rapidmind.net/technology.php

и презентация по втому делу -

http://www.csclub.uwaterloo.ca/media/Ri ... ution.html
( там правда 400MB video :-/ )

(edit) 48 minute presentation
(edit) чувак раньше работал над http://libsh.org, то есть credibility у него на месте
Ответить