210 / 134 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
|
||||||
1 | ||||||
Использовать один блок try{} вместо двух, сохраняя производительность26.09.2012, 11:38. Показов 1061. Ответов 9
Метки нет Все метки)
(
LeniumSoft, а как бы вы переработали вот этот метод? Как видите, тут я кучу блоков try{} тоже наставил... Сделал я это по той причине, чтобы при каждом сохранении скрина не проверять существование папки (лишние операции с файловой системой ведь очень дорогостоящие по ресурсам). А если папка не существует, то возникнет исключение, и только уже после этого мы проверим, существует ли папка. И если нет, тогда создаем ее и пробуем вторую попытку создания скрина.
0
|
|
26.09.2012, 11:38 | |
Ответы с готовыми решениями:
9
Как использовать один запрос вместо двух? Связанный список - использовать в функции один указатель вместо двух
|
1452 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
|
||||||
26.09.2012, 12:22 | 2 | |||||
Тебе лучше сделать некий класс который будет держать переменную типа DirectoryInfo и который будет создавать папку и знать есть она на диске или нет! Вот тогда будет самый минимальный расход ресурсов! Вечером если смогу, то опишу механизм подробнее!
1
|
1452 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
|
||||||||||||||||
26.09.2012, 20:58 | 4 | |||||||||||||||
Вот это отменяется! Ввиду того что я разобраля в работе свойства Exists.
Теперь надо тебе рассказать что же происходит! И так! Само свойство:
Как же он работает:
Она довольно большая и выполняет много работы!
Из него видно что он вызовет всё это чудо только первый раз. При следующих обращениях он нам просто будет выдавать то что получил первый раз. Соответственно тебе надо только DirectoryInfo вывести за метод и не инициализировать постоянно! Тоесть один раз его создал указав путь к папке и потом в своём методе проверяй свойство Exists.
1
|
210 / 134 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
|
|
26.09.2012, 22:48 [ТС] | 5 |
LeniumSoft, спасибо за такой довольно развернутый исследовательский ответ
![]() Не по теме: Вы не против, если мы продолжим обсуждение по коду в личке или в другой теме на форуме? То, о чем мы сейчас уже начали обсуждать, никому из людей, использующих HideScreener, не особо нужно и интересно:)
0
|
1452 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
|
|
26.09.2012, 23:07 | 6 |
0
|
210 / 134 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
|
||||||||||||||||||||||||||
26.09.2012, 23:31 [ТС] | 7 | |||||||||||||||||||||||||
Вынес обсуждение из этой темы. Думаю, модераторы не будут против)
Продолжу... Согласно поданной вами информации посмотрим теперь на производительность моего первоначального метода и сравним его с вашим методом, предложенным в вот этом посте. Я первоначально использовал вот такой метод:
![]()
![]()
0
|
1452 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
|
||||||
27.09.2012, 11:59 | 8 | |||||
Ёлки палки! Про try catch мы говорили когда ты строку в bool парсил! Насчёт этого метода ты попросил показать как бы я его переписал! Я тебе его переписал более понятно и красиво! Без бесполезных зацикливаний и прочего! Причём тут вообще try catch? Этот код работает с файловой системой и его надо засунуть в try от греха! Я не пойму за какой производительностью ты гонишься? Эти оба метода отработают очень быстро и ты этого даже не заметишь! Сохрани в начале метода колличество текущих тиков и в конце метода отними от текущих тиков то значение которое ты получил вначале.
Я то тебе представил более понятный и не запутанный метод! А работает он так же!
0
|
210 / 134 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
|
|
27.09.2012, 13:29 [ТС] | 9 |
Вы меня неправильно поняли, а я вас... В результате получилось черт знает что
![]() Добавлено через 25 минут Я бываю иногда очень озабочен граммами производительности, даже если код от этого становится не такой красив.. но это наверное плохо?
0
|
1452 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
|
|
27.09.2012, 20:18 | 10 |
Надо просто использовать это там где надо! Вот когда тебе надо будет сохранять по 500 картинок в секунду стоит заботится о каждом такте! А когда сохраняется картинка в 10 секунд можно и пограмотнее для себя писать! Ну а когда для других пишешь так надо вообще идеально!
1
|
27.09.2012, 20:18 | |
Помогаю со студенческими работами здесь
10
Сделать вместо двух бордеров один
Заменить один элемент строки вместо двух Как использовать один Enum в двух проектах по связной ссылке? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |