OneFile | The world 's first wait-free Software Transactional Memory
kandi X-RAY | OneFile Summary
kandi X-RAY | OneFile Summary
OneFile is a Software Transactional Memory (STM) meant to make it easy to implement lock-free and wait-free data structures. It is based on the paper "OneFile: A Wait-free Persistent Transactional Memory" by Ramalhete, Correia, Felber and Cohen It provides multi-word atomic updates on tmtype objects, where T must be word-size, typically a pointer or integer. During a transaction, each store on an tmtpye is transformed into a double-word-compare-and-swap DCAS() and one more regular CAS() is done to complete the transaction. It does this with a store-log (write-set) which other writers can help apply. This is a "redo-log" based technique, which means that both store and loads need to be interposed. Stores will be interposed to save them in the log and loads will be interposed to lookup on the log the most recent value. If there is a transaction currently ongoing, the readers will have to check on each tmtype::pload() if the variable we're tying to read is part of the current transaction. If a value is read whose 'seq' is higher than the transaction we initially read, the whole read-only operation will be restarted, by throwing an exception in the tmtype::pload() interposing method and catching this exception by the TM. All of this logic is handled internally by OF without any explicit user interaction. Because of operator overloading, the assignment and reading of tmtype types is done transparently to the user, with a pure library implementation, without any need for compiler instrumentation. This means that the user can write the code as if it was a sequential implementation of the data structure, apart from the change of types (type annotation). In this sense, OneFile is a "quasi-universal construction" with lock-free progress. Our design goal with OneFile was to provide a non-blocking STM so that non-experts could implement their own lock-free and wait-free data structures. OneFile is not designed to transform regular everyday code into lock-free applications. Such use-cases require a lot more of engineering work and likely a completely different approach from what we took with OneFile (CX is a much better option for that purpose). We've made two implementations in the form of Persistent Transactional Memory (PTM) which are STMs meant for Persistent Memory, like Intel's Optane DC Persistent Memory.
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 OneFile
OneFile Key Features
OneFile Examples and Code Snippets
Community Discussions
Trending Discussions on OneFile
QUESTION
I add matplotlib pyplot to my Project When i run it work seamless but when ı convert my code to exe Thats give me
tuple index out of range
ANSWER
Answered 2022-Mar-26 at 13:51I am using Python --version 3.10 when ı updated my Pytyhon --version at 3.10.4 my problem was solved .
QUESTION
I'm trying to make an executable with PyInstaller's onefile option. I've tried many, many different ways of fixing it and I'm absolutely stuck. Specifically, I tried Pyinstaller and --onefile: How to include an image in the exe file. I made my spec file look like theirs and included the resource_path() function. However, I get the following error:
...ANSWER
Answered 2022-Mar-16 at 18:06Okay well I was sure I had already tried this, but by adding the resource path method from Pyinstaller and --onefile: How to include an image in the exe file, but without changing the spec file, this command works:
QUESTION
To be absolutely clear, THIS IS NOT A DUPLICATE of millions of similar errors.
But this error is not new, there's something wrong with the package.
This is the most horrific bug I've ever encountered in my like 30 years experience.
First of all, my application using Newtonsoft.Json package works both with Debug and Release configurations.
Then I publish it with OneFile and ReadyToRun options.
When I try to run it I get: System.IO.FileNotFoundException: Could not load file or assembly 'Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'.
Now - the package is linked into my exe file. Like 15 other packages that works. That mechanism works even with Windows and Linux native libraries. The package I see in my dependencies is version 13.0.1.
This is the current version. My entire solution does not have a single string "13.0.0". The only references to Newtonsoft.Json package are to version "13.0.1".
But when launched from my single file build - Newtonsoft.Json decides to throw a FileNotFoundException
.
I'm banging my head against the wall. WTF is going on? I had similar error long, long time ago, on .NET Framework 4.5. My new app is on .NET 5.0. It has no weird package version redirection stuff. It just uses nuget for packages, they are all defined in one place in my project file.
Is it a bug in Newtonsoft.Json, or somewhere else?
Obviously, I won't paste millions of lines of my production code here. The code is simple, in one place it does something like var x = new JObject()
and it throws the exception.
The only way to reproduce it is to create a new C# project on .NET 5.0, add Newtonsoft.Json package reference, use any method from that package, then make 1 file publish of it and try to run it.
I'm not even sure if it will trigger the bug on other computers, because last time I've seen this error it happened only on one of my Windows servers, and not other machines.
...ANSWER
Answered 2022-Mar-06 at 12:01If anyone stumbles upon that kind of issue, here's what solved the problem:
I manually deleted all bin
and obj
folders from my solution.
Clean solution
, and Batch build
/Clean
didn't help.
After manually removing all bin
and obj
folders and rebuilding the solution it works.
Where did the error sit? I have no idea. It seems like it's a bug in Visual Studio build system itself. If you find similar problem, maybe this would save you a few hours.
To make it extra clear - I changed NOTHING in code. There was no bug in my code. After just deleting all "temporary" folders from the solution it magically started to work and the FileNotFoundException
magically disappeared.
BTW, I have my guess about what happened. I guess Newtonsoft works in a similar way as me, and probably as most of us releasing NuGet
packages do: we complete those super cool new features, extended the API, of course they passed all of our tests. So we release version "x.0.0". Then suddenly some real life code immediately breaks! Then we find the new edge case to add to our tests and release version "x.0.1". We immediately deprecate package "x.0.0". Look at the Newtonsof.Json
versions listed. See it? ;) Versions "x.0.0" live extremely short ;)
I still don't know how it breaks the VS / .NET build system, but it does. Whoever finds that out will become MVP instantly.
Now the shameless plug: https://github.com/HTD/Woof/tree/master/Tools/Nuke
A tool, part of the Woof Toolkit by yours truly. This nukes the packages cache and also removes all bin
and obj
directories below the directory the program was started. So - I keep all my sources in D:\Source
directory. I keep my nuke.exe
there. When I have a misbehaving package anywhere, I just run Nuke. Then the first build of any C# program takes ages, but the package problems are solved. Every time.
Of course it can be replaced with shell scripts, but since I speak C# better than any scripting language... It has no dependencies except .NET 6 you probably already have.
Don't be scared when you see over a hundred errors in WPF or Blazor applications. The .xaml
and .razor
files need rebuilding obj
directories. Just wait for a while or build the project manually.
QUESTION
Title. I have 3 files. 1 main file, to run the script. 1 function file, that holds the functions that the script uses. And 1 data file, that holds the variables that the script accesses. When I use pyinstaller to compile the main function to an exe, despite many attempts with a bunch of different options, (--onefile, --add-data, etc.) I haven't been able to figure out how to fix it. More detailed view on my setup:
...ANSWER
Answered 2022-Feb-26 at 06:45First of all, Pyinstaller is very Finicky. Most newer versions are not compatible with some modules, i.e. the latest Pyinstaller will not work with Pygame Fonts, at least in my experience, so consider checking the log files, or error messages it creates.
Secondly, for Pyinstaller to work with multiple files, they all need to be in the same directory, even the same subdirectory. TechwithTim has a great video explaining all of this, but the long and short of it is, that you need to have all your files and dependencies on the same level, and with the same access level.
Other than that, I cannot see anything wrong with it per see. Not only has the code expert look pretty simple, but I have managed to do heavier stuff with no issue, which makes me think it's probably a compatibility issue with the Modules your using and Pyinstaller.
Hope this helps, and I do really recommend that video I mentioned earlier.
QUESTION
I keep on having an ImportError
in a complex project. I've distilled it to the bare minimum that still gives the error.
A wizard has containers with green and brown potions. These can be added together, resulting in new potions that are also either green or brown.
We have a Potion
ABC, which gets its __add__
, __neg__
and __mul__
from the PotionArithmatic
mixin. Potion
has 2 subclasses: GreenPotion
and BrownPotion
.
In one file, it looks like this:
onefile.py
:
ANSWER
Answered 2022-Feb-02 at 10:56You somehow have to break the circle of the class dependencies. I haven't tried it out, but I think the following strategy might work. The idea is to construct the class PotionArithmatic first with no dependencies. Then you can inject the methods after the class has been fully constructed. But it is perhaps just as cumbersome as your solution:
QUESTION
I am trying to create an executable version of python script that predicts images using .h5
file. The file runs completely fine when on its own in the virtual environment. But when I run the exe after completing the hidden imports following this and data addition in .spec
file, when I run the exe it gives the following error:
ANSWER
Answered 2021-Aug-08 at 23:03Since the error is caused by keras
in particular, I replaced it with tensorflow.keras.*
and seemed to resolve the issue.
QUESTION
I do not understand why I am receiving this error which appears to be in line 10, and I troubleshooted and found out that this is a pylint library. My pylint is upgraded to the latest version. I was wondering why I am receiving an error when importing pylint? These are my first few lines (all the libraries)
...ANSWER
Answered 2021-Dec-24 at 14:03Have you tried installing platformdirs
https://pypi.org/project/platformdirs/ separately?
QUESTION
So I have made this python file which I want to compile (it's called ElPatron) to a .exe file with Nuitka. I did it correctly and this is the dist folder that came with that (using the --standalone argument that Nuitka has)
This is the nuitka command I used:
...ANSWER
Answered 2021-Dec-16 at 22:18From looking at the Nuitka documentation, it says:
QUESTION
I 've been reading almost all the posts related to this topic but I can´t find a solution!!!. My folder path is : C:\Users\User\Desktop\Data Analytics Arg\py_inst
Inside the folder I created a virtual env., I added the chromedriver.exe and my script as it can be seen in the image:
this is my script:
...ANSWER
Answered 2021-Dec-12 at 20:45This error message...
QUESTION
hello I made a chess bot with python inside a virtualenv my bot uses blessed to color the boards it displays using pyinstaller I ran the command pyinstaller random_move_chessbot.py --onefile
on my cmd, It generated the exe file but when I ran the file it displayed a error an error saying blessed\terminal.py:186: UserWarning: Failed to setupterm(kind='vtwin10'): Could not find terminal vtwin10
.
Can anyone tell me why this happens?
Thanks in advance...
ANSWER
Answered 2021-Nov-17 at 12:27Looks like I found how to fix this;
you have to enter this command so that will import the vtwin10 terminal in the jinx library
pyinstaller --hidden-import=jinxed.terminfo.vtwin10 --onefile test.py
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install OneFile
Choose one of the four OneFile implementations, depending on whether you want and STM, a PTM, lock-free or wait-free progress: stms/OneFileLF.hpp STM with lock-free transactions stms/OneFileWF.hpp STM with wait-free transactions ptms/POneFileLF.hpp PTM with lock-free transactions ptms/POneFileWF.hpp PTM with wait-free transactions
Copy the header to your development folder
Include the header from a single .cpp. If you include from multiple compilation units (.cpp files) then move the last block in the .hpp to one of the .cpp files.
If you want a data structure that is already made then take a look at what's on these folders: datastructures/ Data structures for volatile memory (needs one of the STMs) pdatastructures/ Data structures for persistent memory (needs one of the PTMs)
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