Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
egorychХотя... если платят за строчку кода, то подход со свичами - самый подходящий А знаешь почему у Маяковского стихи в печатном виде выглядят так: "Вот и вечер в ночную жуть ушел от окон, хмурый, декабрый. В дряхлую спину хохочут и ржут канделябры. ... ... " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 19:22 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Владимир2012PS: Ну что Dima может проверишь? Чего проверишь? Компилятор написать Я тебе написал как на мой вгляд можно откомпилировать switch() в бинарное дерево. Компиляторы пишут дядьки поумнее меня, может там еще какие оптимизации посеръезнее используются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 19:28 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Dima TЯ тебе написал как на мой вгляд можно откомпилировать switch() в бинарное дерево. Компиляторы пишут дядьки поумнее меня, может там еще какие оптимизации посеръезнее используются. Ни кто и не говорит, что нужно разбираться с премудростями компилятора. Пиши одну функцию, которые в цикле крутит switch с 50 case, а другая использует area и переход с помощью goto ... Если разницы во времени выполнения не будет ни какой, то и обсуждать нечего. Также не плохо бы получить время и при использовании шаблонов Стратегия и Состояние ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 19:38 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Ты придумал - ты и пиши. Мне оно зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 19:42 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
egorychшаблоны проектирования Стратегия и Состояние отлично умеют заменять все эти switch одной красивой строчкой кода. Кстати при предложенном мной подходе будет также использована одна строка в программе ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 19:46 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Владимир2012Ни кто и не говорит, что нужно разбираться с премудростями компилятора. Запустить g++ -S - совсем никакая премудрость. Вот код: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Вот результат в ассемблере: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 19:46 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЗапустить g++ -S - совсем никакая премудрость. С g++ не знаком. Надеюсь приведенный тобой код является результатом оптимизации ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 19:49 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Владимир2012 Ни кто и не говорит, что нужно разбираться с премудростями компилятора. Пиши одну функцию, которые в цикле крутит switch с 50 case, а другая использует area и переход с помощью goto ... Для правильных замеров первую надо писать на Си, чтобы замерить как компилятор оптимизирует, а вторую на асме, т.к. хз во что такую конструкцию компилятор превратит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 19:52 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Dima Tа вторую на асме, т.к. хз во что такую конструкцию компилятор превратит. Зачем на асме? Оно нам надо? "Нам денег не надо - нам время подай" ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 19:54 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Владимир2012Dima Tа вторую на асме, т.к. хз во что такую конструкцию компилятор превратит. Зачем на асме? Оно нам надо? "Нам денег не надо - нам время подай" ... Затем что асм это команды процессору в чистом виде. Если хочешь правильного сравнения эффективности работы компилятора с собственным "идеальным" решением, то надо свое на асме писать. Если что - я на асме писать не умею. Точнее баловался в студенчестве, но с тех пор очень много чего поменялось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 20:02 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Dima TЕсли хочешь правильного сравнения эффективности работы компилятора с собственным "идеальным" решением, то надо свое на асме писать Это для "идеального" решения, а для обыденного один тест с switch, а ниже тест с area и goto /на обычном C/. Не плохо бы замеры сделать и для C++ для сравнения с предложенными шаблонами ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 20:07 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
"Я волком бы выгрыз шаблоны все. К шаблонам почтения нету. К любой простоте в программе катись и будет ей радость. От этого ... " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 20:27 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Владимир2012С g++ не знаком. Так пойди и познакомься. А до тех пор... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 20:49 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Владимир2012 Это для "идеального" решения, а для обыденного один тест с switch, а ниже тест с area и goto /на обычном C/. Работу предлагаешь? Предлагай оплату. У меня своих бредовых нерешенных задач куча. Например: Код: plaintext 1. выполняется 50 сек по сетке 100 мбит (table.dbf весит 0,5 Гб) Код: plaintext 1. выполняется 10 сек Код: plaintext 1. выполняется 5 сек. Задача: надо сделать так чтобы первый запрос работал не более 1 сек. Есть мысли как сделать, надо тестить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 21:01 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТак пойди и познакомься. А до тех пор.. Вполне возможно, что и приду к g++... А пока проза жизни /указания моего начальника/ требует, чтобы настроил VM под CentOS и чтобы можно было в ней ... ... ... ... Вообщем то по молодости лет 7 занимался Linux /Alt Linux, Debian, Slackware/. Так что наверное как раз и до g++ дело дойдет ... /поражаюсь твоей проницательности/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 21:02 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Dima TРаботу предлагаешь? Забудь о моих словах как об страшном сне ... PS: Сегодня пятница ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 21:04 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Dima TЗадача: надо сделать так чтобы первый запрос работал не более 1 сек. Dimitry Sibiryakov уже прочитал об твоих проблемах ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 21:07 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Владимир2012Вполне возможно, что и приду к g++... Кстати, ты не поверишь, но MSVC генерирует ассемберный код даже лучше чем GCC. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 21:15 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Оба. Вдохните глубоко. Пятница... и скипетр власти жжёт мне руку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 21:29 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Владимир2012Dima TЗадача: надо сделать так чтобы первый запрос работал не более 1 сек. Dimitry Sibiryakov уже прочитал об твоих проблемах ... Думаешь решать сразу бросился? Если что - задача не решаема в той постановке как я ее описал. Но есть ньюансы, которыми можно воспользоваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 21:37 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Dima TДумаешь решать сразу бросился? Надо тебе польстить немного, а то ты немного что-то на меня опечалился ... PS: Вот вспомнил о том какой ты труд приложил для достижения поставленной цели ... http://www.sql.ru/forum/1149455-1/generator-prostyh-chisel-do-10-9-za-5-sek ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 21:50 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
Dima TЗадача: надо сделать так чтобы первый запрос работал не более 1 сек. Ну так вспомни об RPC, DCOM, Веб-сервисах, ... ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 21:56 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
О чем вообще спор-то? Как выше неоднократно было сказано, все компиляторы оптимизируют большие switch в таблицы переходов. Программисту никогда не нужно это делать вручную. Все. Тема закрыта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2015, 05:59 |
|
||
|
Аналог switch, но более эффективный
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2015, 07:31 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38960359&tid=2018778]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 154ms |

| 0 / 0 |
