Coder Social home page Coder Social logo

Comments (5)

swift-ci avatar swift-ci commented on August 28, 2024

Comment by Daniel A. Steffen (JIRA)

the .rawValue is opaque and not guaranteed to be comparable (e.g. it does not compare numerically for DispatchWalltime)

from swift-corelibs-libdispatch.

belkadan avatar belkadan commented on August 28, 2024

Out of curiosity (I'm not part of the Dispatch team) when do you need to compare them?

from swift-corelibs-libdispatch.

glessard avatar glessard commented on August 28, 2024

Jordan:
I compared dispatch_time_t values in a simple rate-limiting algorithm of sorts. When issuing an asynchronous task, I'd save a target time (from dispatch_time(DISPATCH_TIME_NOW, offset)), and in the callback I'd compare it to the current time (from dispatch_time(DISPATCH_TIME_NOW, 0)). If the current time is too early (smaller), I'd post the result in a dispatch_after block, otherwise I'd post it immediately.

This could be done in other ways, but since dispatch_time_t is the native representation for libdispatch, this was straightforward (and has behaved as I expected in testing.)

Daniel:
As far as I can tell the values returned from the old dispatch_time() function were comparable; since the new system splits DispatchTime and DispatchWallTime into separate types, comparability is now achievable as a public feature.

from swift-corelibs-libdispatch.

swift-ci avatar swift-ci commented on August 28, 2024

Comment by Daniel A. Steffen (JIRA)

yes, I'm not saying that it is not achievable, I agree that it is.
I was warning you that using the workaround of comparing .rawValue is not guaranteed to work going forward (the raw value encoding is private) (and dispatch_time_t in the old API was definitely not comparable since multiple representations were mixed together)

from swift-corelibs-libdispatch.

swift-ci avatar swift-ci commented on August 28, 2024

Comment by Matt Wright (JIRA)

Addressed in 8ac413a0b5a9f927f44438df3376a7757f607953.

from swift-corelibs-libdispatch.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.