Comments (6)
Hmm. This is a good idea, but I'm not sure how it could be implemented without completely rewriting SimplePriorityQueue
. I don't want to add it to FastPriorityQueue
too because of the performance hit. I'll have to think about it.
from high-speed-priority-queue-for-c-sharp.
I have just done those required by @goldenbull at https://github.com/zijianhuang/High-Speed-Priority-Queue-for-C-Sharp
now Priority could be generic, while backward compatibility with current HEAD in origin is kept.
When more stress tests are done, I will create a pull request.
Meanwhile, you @goldenbull may just use my fork in which currently the default Priority type is double. And I don't think you need to use DateTime for priority, since you could use DateTime.ToOATime().
from high-speed-priority-queue-for-c-sharp.
@zijianhuang there is no ToOATime method in C# DateTime struct, I guess you meant to say ToOADate :)
There is still data loss because I have some high frequence data which needs the precision to 1us
from high-speed-priority-queue-for-c-sharp.
@BlueRaja yes, this will make a big change from the base of the whole building, I'm not sure if it's neccessary.
Nevertheless, for my special case, I can modify several lines and change the float type to long in hard-code way. Glories to BlueRaja :)
from high-speed-priority-queue-for-c-sharp.
Completed in version 4.0. The new declaration for SimplePriorityQueue
is SimplePriorityQueue<TItem, TPriority>
Generics won't be added to FastPriorityQueue
- I found they cause a ~5% slowdown. If someone really needs a generic version and SimplePriorityQueue
is too slow, there is an undocumented class named GenericPriorityQueue<TItem, TPriority>
which they can use.
from high-speed-priority-queue-for-c-sharp.
👍
from high-speed-priority-queue-for-c-sharp.
Related Issues (20)
- Typo HOT 1
- Reused nodes QueueIndex breaks debug HOT 2
- Upgrade PCL project to .NET Standard Class Library HOT 1
- DLL Can't be found HOT 2
- NUnit tests do not run in debug in Visual Studio 2019 HOT 1
- Documentation contradicts examples HOT 2
- Assembly name has a space in it. HOT 2
- FastQueue doesn't return some nodes in some cases HOT 3
- Add constructor accepting FastPriorityQueue's backing array to minimize allocation HOT 1
- Thread safety HOT 1
- is it necessary to have restriction for IComparable? HOT 2
- Add strong name to this NuGet HOT 2
- Proposal: SimplePriorityQueue overloads that expose priority when trivial, for performance and thread safety HOT 1
- StablePriorityQueue is not stable. HOT 1
- Proposal: Add Targets for Other .NET Runtimes Explicitly HOT 2
- Look into C# 10 INumber interface
- Dequeue Performance HOT 3
- Dequeue of FastPriorityQueue returned in wrong order HOT 2
- Add OrderedEnumerator function
- Bug: Last item in queue is not in correct order HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from high-speed-priority-queue-for-c-sharp.