А что по скорости?
Sep. 29th, 2012 03:39 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Регулярно можно видеть рассуждения, мол напишем за 20 минут наш проект на фичастом языке сверхвысокого уровня H, а критические по производительности участки кода сделаем на быстром низкоуровневом языке C. Что-то у меня ощущение, что об этом чаще говорят, чем применяют. Я поспрашивал знакомых программистов, тех что поближе, - подобным не занимаются. Один, говорит, пытался, а потом просто стал писать на плюсах. Даже в интернетах, читал о подобном только в исполнении
levgem и
lionet. В связи с чем пара вопросов:
1) Переписываете ли вы куски кода на низкоуровневом языке в угоду производительности?
2) Какой язык вы для этого используете?
Я ведь правильно понимаю, что нет других низкоуровневых языков кроме сишечки? Биндинги ведь только к ней делаются.
![[profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
1) Переписываете ли вы куски кода на низкоуровневом языке в угоду производительности?
2) Какой язык вы для этого используете?
Я ведь правильно понимаю, что нет других низкоуровневых языков кроме сишечки? Биндинги ведь только к ней делаются.
(no subject)
Date: 2012-09-29 11:48 am (UTC)Сам таким не занимаюсь, т.к. за производительностью я ещё не гонялся.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
Date: 2012-09-29 12:08 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
Date: 2012-09-29 12:11 pm (UTC)я так не делаю, но видел подобное на github
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
Date: 2012-09-29 12:37 pm (UTC)(no subject)
Date: 2012-09-29 12:57 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
Date: 2012-09-29 01:27 pm (UTC)еще numpy/scipy вроде тоже.
А у меня все вычисления упираются в "как наиболее эффективно прочесть наименьшую часть БД размером в 10-50 гб и минимизировать расстояние от чтения до вычисления", так что мне вряд ли поможет переписывание на низкоуровневых языках.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
Date: 2012-09-29 03:05 pm (UTC)LinkedListNode
{
T value;
LinkedListNode* next;
}
class LinkedList
{
LinkedListNode* root;
...
}
typedef LinkedList MyList;
typedef LinkedList HisList;
В С++ это передается как есть, для Шарпа генерируется следующие структуры LinkedListNode_instantation_int, LinkedList_instantation_int, LinkedListNode_instantation_SomeStruct, LinkedList_instantation_SomeStruct:
LinkedListNode_instantation_int
{
int value;
LinkedListNode* next;
}
class LinkedList_instantation_int
{
LinkedListNode_instantation_int *root
}
Для HisList тоже самое. Что-то типа инстанцирования шаблонов. Все это с поддержкой области видимости. LinkedList < SomeTemplate < SomeOtherTemplate < int > > > то же поддерживается. Вопрос - не велосипед ли я изобретаю?
P.S.: Перед тем, как прочел этот пост, сидел отлаживал описанную выше утилиту.
(no subject)
From:(no subject)
From: (Anonymous) - Date: 2012-09-29 04:12 pm (UTC) - Expand(no subject)
From:(no subject)
From: (Anonymous) - Date: 2012-09-29 04:20 pm (UTC) - Expand(no subject)
Date: 2012-09-29 04:51 pm (UTC)(no subject)
Date: 2012-09-29 07:36 pm (UTC)Еще Javascript+C был.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
Date: 2012-09-29 08:43 pm (UTC)Но пример, когда С был реально нужен у меня есть - писал когда-то индексатор для MS Indexing Service, там производительность была критична и заголовки портировать на что-то не хотелось. Т.е. изначально отладил сам алгоритм на дельфи, а потом итог оформил на С.
(no subject)
Date: 2012-11-30 09:57 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
Date: 2012-12-01 06:22 am (UTC)По прошестви пары лет я выкинул с-шный кусок потому что это очень неудобно таскать такие экстеншны. И ничего в общей скорости не поменялось.
Там где скорости эрланга не хватает возможно и скорости plain c может не хватить, потребуются всякие intrinsic