[swift-users] Measuring time accurately on Linux

Michal Kalinowski michal.kalinowski at icloud.com
Sun May 15 08:33:47 CDT 2016


It's my first time posting to users mailing list so hello everyone.

I'm currently optimizing code of my server written in Swift. To do that reliably I want to be able to measure how long it takes to execute specific methods.

On OSX I'm using mach_absolute_time() that I've wrapped in a struct for easier interaction and it works fine. Now I'd like to do the same tests on a copy of my actual platform that runs Ubuntu 15.10.

Mach0 library that I use is not available on Linux, instead I could use gettimeofday or clock_gettime. For that I would have to expose time.h to my swift code, however I'm unsure how to do it exactly.
I have started putting my timing struct in a swift package as a first step. Now I'm stuck and here are my questions:
    * How exactly do I use clang's modulemap with package manager?
    * How do I make modulemap include time.h only on Linux?
    * Is it necessary to include full path to time.h header or I can omit it in case of system headers?

Here is a link to my package for future reference (no linux code there for now).
https://github.com/michalkalinowski-/Timer

Also, if anyone is aware of a package that uses C library in place of OSX C method to work cross-platform please let me know. It would be a great guidance for me as I have a very vague idea of how package manager and C libs import work.

Regards,
M. Kalinowski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160515/eb346be2/attachment.html>


More information about the swift-users mailing list