|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.01.2010, 17:22 | #11 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
А ты подумай, как работает функция strcat?
Я даю тебе 99,9% что она посимвольно приклеивает нужную строку к исходной. |
20.01.2010, 17:40 | #12 |
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
Что ж, понятно. Еще я читал про двумерные и многомерные массивы... мол если массивы очень большие, то уходит много времени на поиск нужной ячейки... насколько я понял, эти затраты уходят каждый раз при обращении к массиву... собственно если опять же, информации в массиве на 1 мб (грубо говоря 1 миллион символов), и со всеми этими символами выполняются различные операции... если их загружать с файла (открыть файл)... порциями по 1000 символов, проделать нужные операции, затем загрузить еще 1000 символов поверх старых... и так далее... потом закрыть файл... поидее массив остается маленьким... всего 1000 байт... но с другой стороны затраты уходят на открытие файла и считывания...
конечно, я уверен, что загрузить информацию в память, и потом уже использовать каждый байт, будет значительно быстрее, чем загружать каждый раз из файла... но как прочитал про то, что в случае больших массивов требуется больше времени на вычисление адреса, засомневался... однако это про многомерные массивы говорилось.. но что в случае двухмерных или трехмерных? ... И вообще, отдельно от темы про 1 мб, например массив [10000][10000][10], причем все ячейки заполнены. И не нужно пожалуйста про то, что сейчас машины мощные, и эта разница в быстродействии не больше секунды. Мне из принципа важно. |
20.01.2010, 17:46 | #13 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Дело даже не в мощных машинах, а в отсутствии разницы ручных действий и вызова библиотечных ф-ций, более того, библиотечные ф-ции, как я говорил, высокооптимизированны, чаще всего они сделают работу лучше Ваших собственных велосипедов. Время вычисления адреса едва ли увеличивается с ростом массива, скорее с ростом размерностей, но опять же, это не то, что нужно оптимизировать. Безусловно быстрее загрузить весь файл в память и потом работать с ним. Намного быстрее. И как раз с подобных слабых мест и нужно начинать, а не писать свои ф-ции сравнения и конкатенации строк сомнительного качества
|
21.01.2010, 00:28 | #14 |
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
Что ж, спасибо!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверка строки | SL1CK | Общие вопросы C/C++ | 4 | 08.06.2009 18:41 |
Перенести символа с начала строки в место перед запятой этой же строки. | Zhiltsov | Microsoft Office Excel | 4 | 05.06.2009 13:10 |
Проверка строки на правильность данных | haros | Microsoft Office Excel | 10 | 28.02.2009 16:39 |
C проверка размера строки | challengerr | Помощь студентам | 2 | 04.08.2008 12:50 |
Проверка строки матрицы на симметричность. | EVIL | Помощь студентам | 2 | 26.11.2007 23:23 |