Manuscript (Case [Issue]22500) Collection - LinkedList>>#reject:thenCollect: is slow

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Manuscript (Case [Issue]22500) Collection - LinkedList>>#reject:thenCollect: is slow

Pharo Issue Tracker
Manuscript Notification
avatar
vonbecmann opened Case 22500: LinkedList>>#reject:thenCollect: is slow and assigned it to Everyone:
Enhancement in Project:  Collection: 1. Pharo Image  •  You are subscribed to this case
" LinkedList>>#reject:thenCollect: is slow
Pharo image: Pharo7.0.0alpha#71276
Virtual machine used: CoInterpreter VMMaker.oscog-eem.2401 uuid: 29232e0e-c9e3-41d8-ae75-519db862e02c Jun 28 2018
StackToRegisterMappingCogit VMMaker.oscog-eem.2401 uuid: 29232e0e-c9e3-41d8-ae75-519db862e02c Jun 28 2018
VM: 201806281256 https://github.com/OpenSmalltalk/opensmalltalk-vm.git Date: Thu Jun 28 14:56:30 2018 CommitHash: a8a1dc1 Plugins: 201806281256 https://github.com/OpenSmalltalk/opensmalltalk-vm.git

Platform Name: unix
Class browser used (if applicable): ClyFullBrowser

Steps to reproduce:
#. evaluate
{
[(LinkedList withAll: (1 to: 10)) reject: [ :each | each even ] thenCollect: [ :each | each squared ]] bench.
[(LinkedList withAll: (1 to: 100)) reject: [ :each | each even ] thenCollect: [ :each | each squared ]] bench.
[(LinkedList withAll: (1 to: 1000)) reject: [ :each | each even ] thenCollect: [ :each | each squared ]] bench.
[(LinkedList withAll: (1 to: 10000)) reject: [ :each | each even ] thenCollect: [ :each | each squared ]] bench.
}

Actual Result:
#. #('162448.131 per second' '7490.706 per second' '107.978 per second' '1.155 per second')

Expected Result:
#. more closed to the performance of an Array
{
[(Array withAll: (1 to: 10)) reject: [ :each | each even ] thenCollect: [ :each | each squared ]] bench.
[(Array withAll: (1 to: 100)) reject: [ :each | each even ] thenCollect: [ :each | each squared ]] bench.
[(Array withAll: (1 to: 1000)) reject: [ :each | each even ] thenCollect: [ :each | each squared ]] bench.
[(Array withAll: (1 to: 10000)) reject: [ :each | each even ] thenCollect: [ :each | each squared ]] bench.
}

#('668173.896 per second' '96296.541 per second' '10131.721 per second' '988.602 per second')
"
Priority Priority: 5 – Fix If Time Status Status: Work Needed
Assigned To Assigned to: Everyone Milestone Milestone: Pharo7.0

Go to Case
No longer need updates? Unsubscribe from this case.

Don't want Manuscript notifications anymore? Update your preferences.

Manuscript

_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
https://lists.gforge.inria.fr/mailman/listinfo/pharo-bugtracker