Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Delphi/C++Builder всех версий

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Продолжение раздела http://forum.ru-board.com/topic.cgi?forum=33&topic=8529&start=8200#17  
Ссылки приветствуются.

См. также:

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:38 26-06-2017 | Исправлено: akaGM, 23:44 09-06-2024
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HekTo
я спрашиваю про ифы. когда размер массива заранее неизвестен из-за того, что не все ифы сработают

Всего записей: 2567 | Зарегистр. 20-06-2011 | Отправлено: 22:59 13-03-2023
zedxxx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPerformer
В таком случае, можно перед циклом выделить максимальный теоретический размер массива, завести счётчик реального количества элементов и по выходе из цикла сжать массив до реального количества элементов. Теоретически, это самый оптимальный способ конкатенации.

Всего записей: 1535 | Зарегистр. 14-07-2008 | Отправлено: 08:53 14-03-2023
HekTo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPerformer
 
Там if'ы не из-за неизвестного количества параметров, а из-за неизвестного их типа. Единственное исключение - открытые массивы, которые за 2 параметра идут. Это решается выделением объёма памяти для Params.Count * 2  элементов и урезанием их после цикла до реального размера. Сокращение размера массива не вызывает его копирования.

Всего записей: 187 | Зарегистр. 30-09-2003 | Отправлено: 12:22 14-03-2023 | Исправлено: HekTo, 12:28 14-03-2023
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HekTo
а, так это параметры... то есть их штук 10-20 максимум. Это именно то место, где нужно сэкономить 4 такта процессора.  
Основное время тратится на парсинг - построение дерева, запусти профайлер и увидишь

Всего записей: 2567 | Зарегистр. 20-06-2011 | Отправлено: 19:36 14-03-2023 | Исправлено: XPerformer, 19:37 14-03-2023
HekTo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Это именно то место, где нужно сэкономить 4 такта процессора.

 
Это вызов функции. А теперь представь, что она вызывается в цикле. И да, операции с выделением и перераспределением памяти - одни из самых медленных в принципе.
 

Цитата:
Основное время тратится на парсинг - построение дерева, запусти профайлер и увидишь

Скомпилировать скрипт можно заранее и сохранить в виде псевдокода - это вот вообще не узкое место.

Всего записей: 187 | Зарегистр. 30-09-2003 | Отправлено: 09:08 15-03-2023 | Исправлено: HekTo, 09:09 15-03-2023
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HekTo
если волнует быстродействие, ты все-таки опыт проведи - напиши с динамическим добавлением элементов и без него, думаю, будешь удивлен. Равно как и работа со строками, которые по сути те же динамические массивы, в delphi реализованы лучше чем ты себе теоретически представляешь. Никакой StringBuilder не нужен, так как не дает прибавки в скорости.

Всего записей: 2567 | Зарегистр. 20-06-2011 | Отправлено: 19:18 15-03-2023
HekTo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Никакой StringBuilder не нужен, так как не дает прибавки в скорости.

Заблуждение. Да, в обычных случаях эта разница не существенна и ею можно спокойно пренебречь, но в критических местах, где скорость имеет значение, он быстрее раза в два.
https://pastebin.com/fJQdjvbF

Всего записей: 187 | Зарегистр. 30-09-2003 | Отправлено: 12:44 21-03-2023 | Исправлено: HekTo, 12:44 21-03-2023
zedxxx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
del

Всего записей: 1535 | Зарегистр. 14-07-2008 | Отправлено: 13:06 21-03-2023 | Исправлено: zedxxx, 13:10 21-03-2023
HekTo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кстати, а проект CrossVcl так и загнулся в итоге?  
На сайте никаких обновлений нет, версию 2.0 вроде ещё в 2022 обещали...

Всего записей: 187 | Зарегистр. 30-09-2003 | Отправлено: 15:21 14-04-2023
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
кто знает, существуют ли какие-нибудь компоненты/библиотеки для работы с научными файлами и БД. хотя бы уровня read/write.
например, с химическими, кристаллическими етц
 
*.cif, *.xyz, *.mol, *.mdl, *.pdb

Всего записей: 24849 | Зарегистр. 06-12-2002 | Отправлено: 13:27 25-04-2023 | Исправлено: akaGM, 14:03 25-04-2023
Alexey_Gawrilow



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
akaGM
Так они текстовые.
Спецификации доступны.
 
В выдаче выдает NET и Java библиотеки.

Всего записей: 640 | Зарегистр. 08-09-2003 | Отправлено: 19:06 25-04-2023
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexey_Gawrilow

Цитата:
Так они текстовые.
Спецификации доступны.
и что? жизнь коротка самому всё писать...
ссылки на жабу покажи, плиз?
 
Добавлено:
 
а... а нет -- шарп что ли?
 
покажи всё, короче...
 
Добавлено:
 
на гитхабе вообще сплошной питон, а тут хоть что-то...

Всего записей: 24849 | Зарегистр. 06-12-2002 | Отправлено: 20:40 25-04-2023
Alexey_Gawrilow



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
akaGM
Общий поиск
https://yandex.ru/search/?text=Pascal+*.cif%2C+*.xyz%2C+*.mol%2C+*.mdl&lr=10747&clid=2207714
1 ссылка
https://wiki.jmol.org/index.php/File_formats/Coordinates
Оттуда по ссылкам
https://sourceforge.net/projects/jmol/
 
3 ссылка
https://github.com/JensKrumsieck/ChemSharp
 
https://ru.wikibrief.org/wiki/Chemical_file_format

Всего записей: 640 | Зарегистр. 08-09-2003 | Отправлено: 02:44 26-04-2023
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexey_Gawrilow
 
отлично!
ответ как на экзамене, зачОт :)
 
спасибо...

Всего записей: 24849 | Зарегистр. 06-12-2002 | Отправлено: 10:12 26-04-2023 | Исправлено: akaGM, 10:13 26-04-2023
AlexCoRu

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И мне подскажите, есть ли компонеты коллектора, а может быть и медиатора, netflow9/ipfix для delphi. Надо. Нашёл это. Но прежде чем начать ваять самому, хотел бы готовое, если есть.

Всего записей: 911 | Зарегистр. 04-09-2003 | Отправлено: 18:29 26-04-2023
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
охренительно простая библиотека файлового i/o всех химеческих форматов
чистый Ansi С, всеплатформенная...
 
https://www.c2x.org.uk/
 
ещё раз спасибо, Alexey_Gawrilow, найдено с твоей помощью...

Всего записей: 24849 | Зарегистр. 06-12-2002 | Отправлено: 18:33 26-04-2023 | Исправлено: akaGM, 18:36 26-04-2023
VadimLou



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
StalkerSoftware vkDBF
Ответ на http://forum.ru-board.com/topic.cgi?forum=35&bm=1&topic=80854&start=5700#9
Потому что в designtime пакете по сути 1 строка RegisterComponents, которая не противоречит runtime.
Поэтому не вижу смысла в лишних пакетах.
Возможно автор планировал дополнительные редакторы для IDE. В таком случае designtime пакет имел бы смыл.

Всего записей: 702 | Зарегистр. 22-07-2004 | Отправлено: 01:07 28-06-2023
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в современных дельфях есть какие-нибудь С-аналоги
 
scanf ()
sscanf ()
 
ну или любой форматный парсинг строк?

Всего записей: 24849 | Зарегистр. 06-12-2002 | Отправлено: 15:47 30-06-2023
jonikDk



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
scanf ()
sscanf ()

а read и readln разве не оно?

Всего записей: 1613 | Зарегистр. 01-03-2004 | Отправлено: 16:08 30-06-2023
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
форматный парсинг строк?
мне нужна источником строка, а не консоль или файл...
совсем-то уж из меня дурака не делай...
 
Добавлено:
 
а scanf я написал по инерции до кучи...

Всего записей: 24849 | Зарегистр. 06-12-2002 | Отправлено: 17:16 30-06-2023 | Исправлено: akaGM, 17:44 30-06-2023
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Delphi/C++Builder всех версий


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru