stdray: (Default)
stdray ([personal profile] stdray) wrote2012-09-29 03:39 pm

А что по скорости?

Регулярно можно видеть рассуждения, мол напишем за 20 минут наш проект на фичастом языке сверхвысокого уровня H, а критические по производительности участки кода сделаем на быстром низкоуровневом языке C. Что-то у меня ощущение, что об этом чаще говорят, чем применяют. Я поспрашивал знакомых программистов, тех что поближе, - подобным не занимаются. Один, говорит, пытался, а потом просто стал писать на плюсах. Даже в интернетах, читал о подобном только в исполнении [profile] levgem и [personal profile] lionet. В связи с чем пара вопросов:

1) Переписываете ли вы куски кода на низкоуровневом языке в угоду производительности?
2) Какой язык вы для этого используете?

Я ведь правильно понимаю, что нет других низкоуровневых языков кроме сишечки? Биндинги ведь только к ней делаются.

[identity profile] enternet.livejournal.com 2012-09-29 08:43 pm (UTC)(link)
Я когда-то давно по неопытности писал extended stored procedures на C для MSSQL7. Потом бросил заниматься этой дурью, т.к. у MSSQL есть хранимые процедуры для дергания COM-объектов, что (1) отвязывает от С и (2) часто ничего писать не нужно, т.к. нужный объект в системе уже есть. Ну и (3) COM c некоторыми нюансами можно делать in-process, т.е. ничего на производительности не терять даже в теории. А потом и это бросил делать, т.к. попадающиеся задачи требовали других методов оптимизации - головой.

Но пример, когда С был реально нужен у меня есть - писал когда-то индексатор для MS Indexing Service, там производительность была критична и заголовки портировать на что-то не хотелось. Т.е. изначально отладил сам алгоритм на дельфи, а потом итог оформил на С.