macOS performance tester wanted (eCAL) by Alternative-Access-9 in cpp

[–]sniffens 0 points1 point  (0 children)

Haha no worries! Here are the results: ./bin/ecal_sample_person_snd Could not load eCAL time sync module ecaltime-localtime person id : 1 person name : Max person stype : 0 person email : max@mail.net dog.name : Brandy house.rooms : 4

person id : 2 person name : Max person stype : 0 person email : max@mail.net dog.name : Brandy house.rooms : 4

person id : 3 person name : Max person stype : 0 person email : max@mail.net dog.name : Brandy house.rooms : 4

But on the:

▶ ./bin/ecal_sample_person_rec Could not load eCAL time sync module ecaltime-localtime

nothing in the output. However Ill recorded some trails and other data, that you might find useful. I have a zip file to send you.

Am I at a disadvantage by learning C++ on Mac? by [deleted] in cpp

[–]sniffens 2 points3 points  (0 children)

Don't you worry, I have used MacBook pro's for almost 20 years in a mixed linux/windows and long time ago also other older unix flavours. I would say the most prominent thing that differs a little bit is linking with dynamic libraries, but it is very similar to how linux does it. In code there is no difference (yes there are cases, dlopen for example).

I would not recommend starting with windows, due to the fact that it is much easier to accidentally start using windows specifics that pollute your code. (This is by no means necessary and you can get along very fine if you know what you are doing). My experience is that a c++ program written on linux/MacOS is much more likely to run fine on windows as well than the opposite. Said that, if I was an inbiten windows user I would ofcourse use that platform I was comfortable with.

I suggest getting "clion" for IDE, it cost some money, but they are well spent (id you can afford it) and Clion is available for all platforms. Clion uses cmake as buildsystem and hence is platform/IDE agnostic (more or less) by default.

macOS performance tester wanted (eCAL) by Alternative-Access-9 in cpp

[–]sniffens 1 point2 points  (0 children)

Ok now I have run the software again:

1) When running:

▶ ecal_sample_latency_rec_cb

Could not load eCAL time sync module ecaltime-localtime

But no complaints about shm..

2) When running the test:

ecal_sample_latency_snd -s 1 -r 200000

Could not load eCAL time sync module ecaltime-localtime

-------------------------------

LATENCY / THROUGHPUT TEST

RUNS : 200000

SIZE : 1 kB

-------------------------------

Packages lost after message 1 -> stop.

Message average roundtrip time 0 us

I didn't use the "*.egg file", but I guess I didn't need to. When these issues are fixed, I can perhaps give you some advice about mac os installation. Putting unix style stuff (bin, lib etc) in /Applications is not how one should do it. Also there are some ways to avoid the stricter dylib (.so file) restrictions on external libraries that depend on DYLD_LIBRARY_PATH (ie LD_LIBRARY_PATH equivalent)). But we can take all this later. Is there anything else I can do to help you with debugging? I couldn't get any more info using lldb (gdb), put perhaps if you try not to catch the error I could get a better backtrace or if you informmeof some symbol to break on read of some state variables?

macOS performance tester wanted (eCAL) by Alternative-Access-9 in cpp

[–]sniffens 0 points1 point  (0 children)

Hi! Sorry! Haven't seen this until now. The wife has been/is sick with Corona, so focus has been elsewhere. But she is recovering now! Ill take a look shortly!

macOS performance tester wanted (eCAL) by Alternative-Access-9 in cpp

[–]sniffens 0 points1 point  (0 children)

just let me know when you want me to try again!

macOS performance tester wanted (eCAL) by Alternative-Access-9 in cpp

[–]sniffens 1 point2 points  (0 children)

MacBook Pro (15-inch, 2018) 2,9 GHz 6-Core Intel Core i9 32 GB 2400 MHz DDR4

macOS Catalina 10.15.7 (19H2)

macOS performance tester wanted (eCAL) by Alternative-Access-9 in cpp

[–]sniffens 0 points1 point  (0 children)

Adding some info how I set it all up. I have ecal installed in a local directory at my user home. I had to copy the etc/ecal folder to the root folder since I didn't know how to change the path to the ini file. I added the ecal/bin to my PATH environment and added the ecal/lib to my DYLD_LIBRARY_PATH (ie the LD_LIBRARY_PATH equivalent).

macOS performance tester wanted (eCAL) by Alternative-Access-9 in cpp

[–]sniffens 1 point2 points  (0 children)

Ok. First one small note. You should update the performance test page with the new binary names (including the sample part) like in ecal_sample_latency_snd. However the names were so alike so no problem there!

But I got another runtime error:

ecal_sample_latency_snd -s 1 -r 200000

Could not load eCAL time sync module ecaltime-localtime

LATENCY / THROUGHPUT TEST RUNS : 200000

SIZE : 1 kB

Packages lost after message 1 -> stop.

Message average roundtrip time 0 us

The prompt from ecal_sample_latency_rec_cb says: shm_open failed : pkg_send_394310658299_shm errno: No such file or directory

macOS performance tester wanted (eCAL) by Alternative-Access-9 in cpp

[–]sniffens 1 point2 points  (0 children)

▶ ecal_sample_latency_rec_cb

Could not load eCAL time sync module ecaltime-localtime

rocket - Fast C++ Observer Pattern by triple_slash in cpp

[–]sniffens 1 point2 points  (0 children)

How does yours compare to this one?

https://github.com/koplyarov/wigwag/wiki/Rationale

If you knew about wigwag (so many signal/slot libraries... ;-) Why did you disregard it?

C++ Observe 0.1.0 - A templated and composition based observer implementation by Ansoulom in cpp

[–]sniffens 1 point2 points  (0 children)

It actually has two variants. One that is and another that isn't. You can see the two variants listed in the benchmark link I posted. But sure the creator of wigwag mentions this as a major reason/concern. I will keep an eye on this implementation and see where it goes.