time | simplified approach to working with dates times | Date Time Utils library
kandi X-RAY | time Summary
kandi X-RAY | time Summary
To work with time successfully in programming, we need three different concepts:. So to show a human being a time, you must always know the POSIX time and their time zone. That is it. So all that “human time” stuff is for your view function, not your Model.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of time
time Key Features
time Examples and Code Snippets
Community Discussions
Trending Discussions on time
QUESTION
Here are two measurements:
...ANSWER
Answered 2022-Mar-30 at 11:57Combining my comment and the comment by @khelwood:
TL;DR:
When analysing the bytecode for the two comparisons, it reveals the 'time'
and 'time'
strings are assigned to the same object. Therefore, an up-front identity check (at C-level) is the reason for the increased comparison speed.
The reason for the same object assignment is that, as an implementation detail, CPython interns strings which contain only 'name characters' (i.e. alpha and underscore characters). This enables the object's identity check.
Bytecode:
QUESTION
I am having problems with npx create-react-app involving global installs. My confusion arises because as far as I'm aware the create-react-app package is not installed on my machine.
Some Details:
I start a react project (with typescript template) as I have previously and recently done on this same machine a number of times:
npx create-react-app --template typescript .
I get this prompt from the terminal
Need to install the following packages: create-react-app Ok to proceed? (y)
I press y to confirm it's okay to proceed. (If I press n, the process terminates with the following error: npm ERR! canceled
.) The terminal then displays the following message
ANSWER
Answered 2021-Dec-21 at 14:45You can try to locate the installed version by running:
QUESTION
I made a bubble sort implementation in C, and was testing its performance when I noticed that the -O3
flag made it run even slower than no flags at all! Meanwhile -O2
was making it run a lot faster as expected.
Without optimisations:
...ANSWER
Answered 2021-Oct-27 at 19:53It looks like GCC's naïveté about store-forwarding stalls is hurting its auto-vectorization strategy here. See also Store forwarding by example for some practical benchmarks on Intel with hardware performance counters, and What are the costs of failed store-to-load forwarding on x86? Also Agner Fog's x86 optimization guides.
(gcc -O3
enables -ftree-vectorize
and a few other options not included by -O2
, e.g. if
-conversion to branchless cmov
, which is another way -O3
can hurt with data patterns GCC didn't expect. By comparison, Clang enables auto-vectorization even at -O2
, although some of its optimizations are still only on at -O3
.)
It's doing 64-bit loads (and branching to store or not) on pairs of ints. This means, if we swapped the last iteration, this load comes half from that store, half from fresh memory, so we get a store-forwarding stall after every swap. But bubble sort often has long chains of swapping every iteration as an element bubbles far, so this is really bad.
(Bubble sort is bad in general, especially if implemented naively without keeping the previous iteration's second element around in a register. It can be interesting to analyze the asm details of exactly why it sucks, so it is fair enough for wanting to try.)
Anyway, this is pretty clearly an anti-optimization you should report on GCC Bugzilla with the "missed-optimization" keyword. Scalar loads are cheap, and store-forwarding stalls are costly. (Can modern x86 implementations store-forward from more than one prior store? no, nor can microarchitectures other than in-order Atom efficiently load when it partially overlaps with one previous store, and partially from data that has to come from the L1d cache.)
Even better would be to keep buf[x+1]
in a register and use it as buf[x]
in the next iteration, avoiding a store and load. (Like good hand-written asm bubble sort examples, a few of which exist on Stack Overflow.)
If it wasn't for the store-forwarding stalls (which AFAIK GCC doesn't know about in its cost model), this strategy might be about break-even. SSE 4.1 for a branchless pmind
/ pmaxd
comparator might be interesting, but that would mean always storing and the C source doesn't do that.
If this strategy of double-width load had any merit, it would be better implemented with pure integer on a 64-bit machine like x86-64, where you can operate on just the low 32 bits with garbage (or valuable data) in the upper half. E.g.,
QUESTION
I've downloaded Android Studio from the official website, the one for M1 chip (arm).
Basically running it for the first time, the error is the following:
...ANSWER
Answered 2021-Nov-07 at 09:40This is what solved it for me on my M1.
- Go to Android Studio Preview and download the latest Canary build for Apple chip (Chipmunk). Don't worry this is just to get through the initial setup.
- Unpack it, run it, let it install all the SDK components, accept licenses, etc as usual.
- Once it's done, simply close it and delete it.
Now when you start your stable Android Studio (Arctic Fox) you should not see the error.
QUESTION
I'm studying for the final exam for my introduction to C++ class. Our professor gave us this problem for practice:
...Explain why the code produces the following output:
120 200 16 0
ANSWER
Answered 2021-Dec-13 at 20:55It does not default to zero. The sample answer is wrong. Undefined behaviour is undefined; the value may be 0, it may be 100. Accessing it may cause a seg fault, or cause your computer to be formatted.
As to why it's not an error, it's because C++ is not required to do bounds checking on arrays. You could use a vector and use the at
function, which throws exceptions if you go outside the bounds, but arrays do not.
QUESTION
Following a previous question of mine, most comments say "just don't, you are in a limbo state, you have to kill everything and start over". There is also a "safeish" workaround.
What I fail to understand is why a segmentation fault is inherently nonrecoverable.
The moment in which writing to protected memory is caught - otherwise, the SIGSEGV
would not be sent.
If the moment of writing to protected memory can be caught, I don't see why - in theory - it can't be reverted, at some low level, and have the SIGSEGV converted to a standard software exception.
Please explain why after a segmentation fault the program is in an undetermined state, as very obviously, the fault is thrown before memory was actually changed (I am probably wrong and don't see why). Had it been thrown after, one could create a program that changes protected memory, one byte at a time, getting segmentation faults, and eventually reprogramming the kernel - a security risk that is not present, as we can see the world still stands.
- When exactly does a segmentation fault happen (= when is
SIGSEGV
sent)? - Why is the process in an undefined behavior state after that point?
- Why is it not recoverable?
- Why does this solution avoid that unrecoverable state? Does it even?
ANSWER
Answered 2021-Dec-10 at 15:05When exactly does segmentation fault happen (=when is SIGSEGV sent)?
When you attempt to access memory you don’t have access to, such as accessing an array out of bounds or dereferencing an invalid pointer. The signal SIGSEGV
is standardized but different OS might implement it differently. "Segmentation fault" is mainly a term used in *nix systems, Windows calls it "access violation".
Why is the process in undefined behavior state after that point?
Because one or several of the variables in the program didn’t behave as expected. Let’s say you have some array that is supposed to store a number of values, but you didn’t allocate enough room for all them. So only those you allocated room for get written correctly, and the rest written out of bounds of the array can hold any values. How exactly is the OS to know how critical those out of bounds values are for your application to function? It knows nothing of their purpose.
Furthermore, writing outside allowed memory can often corrupt other unrelated variables, which is obviously dangerous and can cause any random behavior. Such bugs are often hard to track down. Stack overflows for example are such segmentation faults prone to overwrite adjacent variables, unless the error was caught by protection mechanisms.
If we look at the behavior of "bare metal" microcontroller systems without any OS and no virtual memory features, just raw physical memory - they will just silently do exactly as told - for example, overwriting unrelated variables and keep on going. Which in turn could cause disastrous behavior in case the application is mission-critical.
Why is it not recoverable?
Because the OS doesn’t know what your program is supposed to be doing.
Though in the "bare metal" scenario above, the system might be smart enough to place itself in a safe mode and keep going. Critical applications such as automotive and med-tech aren’t allowed to just stop or reset, as that in itself might be dangerous. They will rather try to "limp home" with limited functionality.
Why does this solution avoid that unrecoverable state? Does it even?
That solution is just ignoring the error and keeps on going. It doesn’t fix the problem that caused it. It’s a very dirty patch and setjmp/longjmp in general are very dangerous functions that should be avoided for any purpose.
We have to realize that a segmentation fault is a symptom of a bug, not the cause.
QUESTION
I can't recall if I have ever tinkered with the settings of Android Emulator, but I've been testing my app on an Android Emulator using Android Studio, and every time I take a screenshot, it crashes.
I tried deleting, and wiping, and creating a new Emulator. None of it works. I tried also to take a screenshot without running my app, with a fresh emulator, and the same problem occurs. It just crashes whenever I try to take a picture.
Android Studio reports this error:
Blockquote WARNING | unexpected system image feature string, emulator might not function correctly, please try updating the emulator. WARNING | cannot add library /Users/sbenati/Library/Android/sdk/emulator/qemu/darwin-x86_64/lib64/vulkan/libvulkan.dylib: failed INFO | configAndStartRenderer: setting vsync to 60 hz INFO | added library /Users/sbenati/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylib WARNING | cannot add library /Users/sbenati/Library/Android/sdk/emulator/qemu/darwin-x86_64/lib64/vulkan/libMoltenVK.dylib: failed INFO | added library /Users/sbenati/Library/Android/sdk/emulator/lib64/vulkan/libMoltenVK.dylib INFO | Started GRPC server at 127.0.0.1:8554, security: Local INFO | Advertising in: /Users/sbenati/Library/Caches/TemporaryItems/avd/running/pid_935.ini
My machine is a Mac with 32GB of RAM and i7 CPU, so I can't imaging this an issue with system performance.
If no one has any suggestions, I will have to just reinstall everything. Thanks for the tips everyone.
Edit:
I ran this on a new Mac mini I recently acquired, and got this really helpful message. I traced it down to a suggested solution about switching off Vulcan, but it did not work for me.
...ANSWER
Answered 2021-Dec-04 at 02:28I've been having the same problem (I'm on macOS Monterey), each time I try to take a screenshot the emulator crashes.
Sadly I haven't found a direct solution to this problem, that is a solution fixing the issue in the simulator. But I have learned that it is possible to take screenshots of the app from inside Android Studio, using Logcat.
Essentially, when you're running your app, if you go to the Logcat tab, there is a screenshot option which does seem to work without crashing. I've added a link to developer.android.com which explains how to do it.
Even thought this doesn't exactly fix the problem I hope it helps!
Take a screenshot (through android studio)
Edit:
I am happy to report that after a recent update for the emulator released by the developers, the issue no longer exists for me! The screenshot button has now started working again.
So if someone has the issue, I believe it can now be fixed by just updating your emulator to the latest version available.
QUESTION
In the following code, I create two lists with the same values: one list unsorted (s_not), the other sorted (s_yes). The values are created by randint(). I run some loop for each list and time it.
...ANSWER
Answered 2021-Nov-15 at 21:05Cache misses. When N
int objects are allocated back-to-back, the memory reserved to hold them tends to be in a contiguous chunk. So crawling over the list in allocation order tends to access the memory holding the ints' values in sequential, contiguous, increasing order too.
Shuffle it, and the access pattern when crawling over the list is randomized too. Cache misses abound, provided there are enough different int objects that they don't all fit in cache.
At r==1
, and r==2
, CPython happens to treat such small ints as singletons, so, e.g., despite that you have 10 million elements in the list, at r==2
it contains only (at most) 100 distinct int objects. All the data for those fit in cache simultaneously.
Beyond that, though, you're likely to get more, and more, and more distinct int objects. Hardware caches become increasingly useless then when the access pattern is random.
Illustrating:
QUESTION
I have a react.js app that I want to profile for performance issues.
I'm using the react dev tool profiler in firefox.
I profile a specific interaction and get the flamegraph and the ranked time graph in the dev tool.
Then this message shows up in the dev tool:
This part of the dev tool is not interactive, and I can't find anything on how the hooks are numbered.
How do I interpret these numbers? What do they correspond to? Where can I find the information on what hooks they refer to?
...ANSWER
Answered 2021-Nov-06 at 02:32This is the PR where they added that feat. They didn't provide a better UI due to some performance constraints. But you can find what hooks those indexes correspond to if you go to the components tab in dev tools and inspect said component; in the hooks section, you'll have a tree of the called hooks, and for each hook, a small number at the left which is the index. You'll probably need to unfold the tree of hooks to find them.
Here's a screenshot from the linked PR
QUESTION
I am aware that Let's Encrypt made changes that may impact older clients because a root certificate would expire. See DST Root CA X3 Expiration (September 2021).
However, I didn't think this could impact me because my development machine is up-to-date.
But since today I get the message while doing a git pull
:
ANSWER
Answered 2021-Oct-17 at 13:39I was facing a similar issue with DevOps build agents. But I can access the DevOps server web interface without any issue.
To solve this,
- I updated my Let's Encrypt client (I'm using Certify The Web)
- I have renewed my certificate
After that, the DevOps agent is able to do a Git pull.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install time
Elm packages are available at elm-lang.org. If you are going to make HTTP requests, you may need elm/http and elm/json. You can get them set up in your project with the following commands: elm install elm/http and elm install elm/json. It adds these dependencies into your elm.json file, making these packages available in your project. Please refer guide.elm-lang.org for more information.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page