ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

24.05.2010, 11:13
|
|
Участник форума
Регистрация: 07.09.2008
Сообщений: 139
Провел на форуме: 351188
Репутация:
65
|
|
Сообщение от rudvil
Есть ли смысл для оптимизации, передавать аргументы функции через указатель, например
Код:
void show_msg(std::string& msg) {
std::cout << msg;
}
если учитывать что эта функция вызывается очень часто и с средним кол. символов в "msg" - 500
Т.е. насколько я понимаю если не передавать через указатель, то при каждом вызове будет происходить копия этого "msg" и последующий его вывод... что мне впринципе нафиг не надо, тогда уже лучше везде прописывать аргументы через ссылки.
Ну не везде, но во всяком случае там - где я точно знаю что в функ. с ним никаких операция кроме чтения не будет.
Есть ли смысл с этим заморачиваться?
на сколько я понимаю, тут выгоднее написать
Код:
inline void show_msg(std::string msg) {std::cout << msg;}
|
|
|

24.05.2010, 11:18
|
|
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
Провел на форуме: 2066562
Репутация:
86
|
|
Сообщение от Byte_
на сколько я понимаю, тут выгоднее написать
Код:
inline void show_msg(std::string msg) {std::cout << msg;}
Да, спасибо это вариант, но ведь копирование аргумента по прежнему будет?
|
|
|

24.05.2010, 11:21
|
|
Участник форума
Регистрация: 07.09.2008
Сообщений: 139
Провел на форуме: 351188
Репутация:
65
|
|
Сообщение от rudvil
Да, спасибо это вариант, но ведь копирование аргумента по прежнему будет?
если я правильно понимаю механизм inline функций в C, то нет... в такой функции тело заменяет вызов при компиляции. но следует учесть, что inline может быть не воспринят компилятором (это рекомендация а не условия для компилятора).
|
|
|

24.05.2010, 11:27
|
|
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
Провел на форуме: 2066562
Репутация:
86
|
|
Сообщение от Byte_
если я правильно понимаю механизм inline функций в C, то нет... в такой функции тело заменяет вызов при компиляции. но следует учесть, что inline может быть не воспринят компилятором (это рекомендация а не условия для компилятора).
Хмм, ещё раз спасибо - попробую и так - и так, проведу пару тестов, посмотрим где компилятору(в плане оптимизации) больше понравится =]
|
|
|

24.05.2010, 11:39
|
|
Участник форума
Регистрация: 07.09.2008
Сообщений: 139
Провел на форуме: 351188
Репутация:
65
|
|
Сообщение от rudvil
Хмм, ещё раз спасибо - попробую и так - и так, проведу пару тестов, посмотрим где компилятору(в плане оптимизации) больше понравится =]
напиши потом. заинтриговал =)
|
|
|

24.05.2010, 12:14
|
|
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
Провел на форуме: 2066562
Репутация:
86
|
|
Сообщение от Byte_
напиши потом. заинтриговал =)
Забавно получилось, как говорится не знаешь не трогай ^^
результаты в мс.
Сообщение от без оптимизации
1174
752
751
752
748
1043
1024
781
752
751
Сообщение от через ссылку
925
750
753
748
756
774
746
770
759
750
Сообщение от заинлайненая
959
764
772
757
757
770
761
771
758
808
Вывод следующий - с такой мелкой оптимизации смысла нет заморачиваться, компилятор всё сделает за тебя.
|
|
|

24.05.2010, 12:43
|
|
Участник форума
Регистрация: 07.09.2008
Сообщений: 139
Провел на форуме: 351188
Репутация:
65
|
|
rudvil, скорее всего он не воспринял inline из-за использования std...
судя по всему способ 1 = способу 3
|
|
|

24.05.2010, 12:49
|
|
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
Провел на форуме: 2066562
Репутация:
86
|
|
Сообщение от Byte_
rudvil, скорее всего он не воспринял inline из-за использования std...
судя по всему способ 1 = способу 3
Как бы там ни было если уж оптимизировать, то оптимизировать нужно скорее общий алгоритм программы, чем всякую мелочь =]
|
|
|

24.05.2010, 12:52
|
|
Новичок
Регистрация: 04.06.2009
Сообщений: 7
Провел на форуме: 15180
Репутация:
0
|
|
подскажите как после очистки кэша IE
var lpEntryInfo: PInternetCacheEntryInfo; hCacheDir: LongWord; dwEntrySize: LongWord; dwLastError: LongWord; begin dwEntrySize := 0; FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize); GetMem(lpEntryInfo, dwEntrySize); hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize); if (hCacheDir <> 0) then DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName ); FreeMem(lpEntryInfo); repeat dwEntrySize := 0; FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize); dwLastError := GetLastError(); if (GetLastError = ERROR_INSUFFICIENT_BUFFER) then begin GetMem(lpEntryInfo, dwEntrySize); if (FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize)) then DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName ); FreeMem(lpEntryInfo); end; until (dwLastError = ERROR_NO_MORE_ITEMS);
добавить в уже отчищенный кэш куки из edit1.text
|
|
|

24.05.2010, 13:59
|
|
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме: 3516666
Репутация:
439
|
|
чувак, это ж не с/с++. ты либо темой ошибся, либо языком.
cookie записываются в файл. для этого тебе надо знать содержание и место хранения cookies.
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|