
Олег
24.01.2018
15:34:00
Привет.
Я хочу написать что-то вроде
std::for_each (container.begin (), container.end (), []( auto &n ){
…;
});
И мне очень лень явно указывать тип элеметов в container. Правда, что это позволят шаблонные лямбды, которые планируются в c++20?

Egor
24.01.2018
15:35:10

Alexander
24.01.2018
15:35:13

Oleg
24.01.2018
15:36:05

Google

Egor
24.01.2018
15:36:54

Vsevolod
24.01.2018
15:37:18
тут же недавно постили про => для такого

Олег
24.01.2018
15:39:12

Vsevolod
24.01.2018
15:39:34
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0573r2.html

Oleg
24.01.2018
15:49:01
Народ
безопасно ли подключаться к приложению strace'ом?

Олег
24.01.2018
15:50:14
Отчасти. Все системные вызовы будут работать в несколько раз дольше (не знаю, во сколько именно), больше эффектов не должно быть.

Oleg
24.01.2018
15:50:24
ок. Спасиюл

Andrey Semchenko
24.01.2018
16:03:32
Есть вот такая шаблонная функция
template<unsigned a, unsigned b>
bool foo() {
...
}
Как сделать её частичную специализацию, где второй параметр равен еденице? На такой вариант компилятор ругается
template<unsigned a>
bool foo<a,1) {
...
}
Пишет
non-class, non-variable partial specialization ‘foo<a, 1>’ is not allowed

fox.cpp
24.01.2018
16:08:03
Всё, как ты и понял, частичная специализация функций запрещена.
Заверни реализацию в структуру со статическим call, при особом желании — определи функцию, которая вызывает этот call.

Andrey Semchenko
24.01.2018
16:09:46
Всмысле сделать эти функции методами какой-то структуры?

Google

Ilia
24.01.2018
16:10:20

fox.cpp
24.01.2018
16:10:27

Alex Фэils?︙
24.01.2018
16:43:50

39170
24.01.2018
16:50:07

Олег
24.01.2018
16:51:46
Чтобы не перемешивалось, скажем, с перегрузкой функций по параметрам?

Oleg
24.01.2018
17:16:34
Народ, нужно помощь по профилированию.
Приложение под линукс. Консоль-онли. Чем профильнуть, чтобы понять в каком методе больше всего зависает и почему?

Vsevolod
24.01.2018
17:16:46
perf

Alexander
24.01.2018
17:18:50

fox.cpp
24.01.2018
17:19:21
Но потом задумался, ибо не использовал другие инструменты (калгринд оказался самым простым).
Вдруг что-то лучше есть.

Vsevolod
24.01.2018
17:19:56
callgrind сам зависает, бгг

Oleg
24.01.2018
17:20:11
вот пробую перфом но он как-то хреново показывает. Саму функцию вообще не показывает, которая, как я знаю, самая тяжелая.

Vsevolod
24.01.2018
17:20:21
-g
если у тебя omit-frame-pointer или инлайнинг, то может и не очень релевантное показывать
я обычно ассемблер смотрю

Andrey Semchenko
24.01.2018
17:21:08

Alexander
24.01.2018
17:21:17

fox.cpp
24.01.2018
17:21:24
Какие вообще есть хорошие профайлеры для линя? Мне бы вот, чтобы понимал потоки.

Google

Vsevolod
24.01.2018
17:22:19
vtune :)

fox.cpp
24.01.2018
17:23:08
> commercial application
Ех, я школьник с крайне мелким заработком(
From $899. Тяжко.

Alexander
24.01.2018
17:23:45

Ignat
24.01.2018
17:23:53
Недавно палили Intel System Studio
Это что-то для эмбеддеда, но там вроде в каком-то виде есть vtune

Scarf
24.01.2018
17:24:26
Разве там не бесконечно обновляется триал?
Там есть VTune.

fox.cpp
24.01.2018
17:26:31
Ладно, хорошо, VTune выглядит мощно и красиво, а есть FOSS решения?

Oleg
24.01.2018
17:28:32

fox.cpp
24.01.2018
17:28:55
Вообще, главное, что бесплатно.

Oleg
24.01.2018
17:29:25
https://software.intel.com/sites/landingpage/intel-system-studio-configurator/?entitlement=evaluation&edition=ultimate#/
хм, Никакой помощи от perf не пришло
походу надо собрать тестовую функцию и на каком-нибдь vtune запустить

Nik
24.01.2018
17:58:27
Google perf tools

Ioann V
24.01.2018
18:16:47
Ребята - программята, а у меня вопросец по архитектуре комплюктора:
Смотрите, у меня у процессора haswell - 256kb L1 кеш. Но на сколько я понимаю, этот кеш идет на все ядра, и в итоге имея 4 ядра, получается что каждому дано по 64kb ?
Поэтому, как я понимаю - работая в однопоточном режиме, весь оптимизон по кешу первого уровня надо заталкивать в 64 кб, а не в 256 ?

Alexander
24.01.2018
18:24:03
а как расположены кеши - смотри в спецификации проца

Google

Alexander
24.01.2018
18:24:29
у меня есть кое-что вкусное для тебя: https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf

Ioann V
24.01.2018
18:25:16
Известное чтиво конечно, хотя и нудное.
Thx.

Alexander
24.01.2018
18:26:13
ну сорри, вроде это норм документ ?

Admin
ERROR: S client not available

Дед Пегас
24.01.2018
18:33:37

Ioann V
24.01.2018
18:34:32
Или таки 64(как я и считаю)

Дед Пегас
24.01.2018
18:36:16
L1I Cache:
32 KB 8-way set associative
64 B line size
\ Write-back policy
shared by the two threads, per core
Собсна.
L1 кэш у тебя на на ядро, шарится между потоками команд SMT.
https://en.wikichip.org/wiki/intel/microarchitectures/haswell

Ioann V
24.01.2018
18:42:00
Ага. Теперь вижу. Thx x2.

Igor
24.01.2018
19:09:08
Сегодня кстати на питерской UG был обзорный доклад про устройство процессора (https://www.meetup.com/en-AU/St-Petersburg-CPP-User-Group/events/246674845/). Если кому интересно послушать, запись скоро будет добавлена в плейлист группы - https://www.youtube.com/playlist?list=PLtDc3cNvuhAIU_LRYg6xFaJV_95Kkt79n.

PRO_DanDy
24.01.2018
19:20:41
Ребят, как в UWP конвертировать String^ в int на c++? Нужен аналог команды Convert.ToInt32() из c#

Berkus
24.01.2018
19:26:06

PRO_DanDy
24.01.2018
19:26:31

Igor
24.01.2018
19:27:25

PRO_DanDy
24.01.2018
19:33:17
String::Data
А что за аргументы это функция принимает и что она возвращает?

Berkus
24.01.2018
19:33:50

Google

Alex Фэils?︙
24.01.2018
19:34:10

PRO_DanDy
24.01.2018
19:34:10
А то в VS пытаюсь применить ее в качестве аргумента вписав String^ а она не хочет его брать

Igor
24.01.2018
19:34:21

Alexander
24.01.2018
19:34:41

Igor
24.01.2018
19:36:31
Не заметил

Berkus
24.01.2018
19:36:48
вот видишь как ты своим сишарпом тут всех запутал

Igor
24.01.2018
19:44:00
вот видишь как ты своим сишарпом тут всех запутал
Внутри код нативный, C++/CX просто добавляет в него синтаксический сахар. Микрософт вроде начинает от него понемногу отказываться переползая на C++/WinRT, который предоставляет доступ к тем же классам средствами стандартного C++.

Igor
24.01.2018
19:44:49

Igor
24.01.2018
19:45:32

Lorgar
24.01.2018
19:51:56
ребят подскажите как найти количество комбинаций дающих в сумме определённое значение

Alexander
24.01.2018
19:52:14

Oleg
24.01.2018
19:52:14
Перебором

Lorgar
24.01.2018
19:53:01
потому что реализовать хочу на С++
если возжелаете гнать меня тапками ссаными - я сам уйду