-
Notifications
You must be signed in to change notification settings - Fork 3
Optimize CTQueue for O(1) Remove with Linked List (Fixes #9) #11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@jordanmontt please look for this one |
Pharo64-12.xml
Outdated
@@ -0,0 +1 @@ | |||
<?xml version="1.0" encoding="UTF-8"?><testsuite name="Pharo64-12" tests="13" failures="0" errors="0" time="0.01"> <testcase classname="Containers.Queue.Tests.CTQueueTest" name="testAddGarantyFIFOOrder" time="0.002"></testcase> <testcase classname="Containers.Queue.Tests.CTQueueTest" name="testIsEmpty" time="0.0"></testcase> <testcase classname="Containers.Queue.Tests.CTQueueTest" name="testQueueGarantyFIFOOrder" time="0.0"></testcase> <testcase classname="Containers.Queue.Tests.CTQueueTest" name="testPeek" time="0.001"></testcase> <testcase classname="Containers.Queue.Tests.CTQueueTest" name="testAddAll" time="0.0"></testcase> <testcase classname="Containers.Queue.Tests.CTQueueTest" name="testEmptyQueue" time="0.0"></testcase> <testcase classname="Containers.Queue.Tests.CTQueueTest" name="testLargeQueuePerformance" time="0.0"></testcase> <testcase classname="Containers.Queue.Tests.CTQueueTest" name="testAdd" time="0.0"></testcase> <testcase classname="Containers.Queue.Tests.CTQueueTest" name="testQueue" time="0.0"></testcase> <testcase classname="Containers.Queue.Tests.CTQueueTest" name="testRemove" time="0.0"></testcase> <testcase classname="Containers.Queue.Tests.CTQueueTest" name="testEmptyQueueRemove" time="0.0"></testcase> <testcase classname="Containers.Queue.Tests.CTQueueTest" name="testRemoveIfNone" time="0.0"></testcase> <testcase classname="Containers.Queue.Tests.CTQueueTest" name="testPoll" time="0.0"></testcase> <system-out><![CDATA[]]></system-out> <system-err><![CDATA[]]></system-err></testsuite> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is this file?
"Verify FIFO behavior and performance with a large queue." | ||
| queue size | | ||
queue := self queueClass new. | ||
size := 1000. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would say that 1000 is not that large
The code looks good! but can you add more tests? And also, there is a weird file that got added |
Pull Request Test Coverage Report for Build 14144595852Details
💛 - Coveralls |
issue: 1 |
This PR fixes #9 by replacing OrderedCollection in CTQueue with a singly linked list using CTQueueNode, making remove and poll O(1) instead of O(n).
Changes: