Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
js-map/obj-2
(version: 0)
Comparing performance of:
obusage vs mapusage
Created:
6 years ago
by:
Guest
Jump to the latest result
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Script Preparation code:
const test = a => { const b = []; for (i = 0; i < 500; i++) { const s = a.items; b.push(...s); } return(b); };
Tests:
obusage
var obj2 ={ kind: 'StorageClassList', apiVersion: 'storage.k8s.io/v1', metadata: { selfLink: '/apis/storage.k8s.io/v1/storageclasses', resourceVersion: '96731' }, items: [ { metadata: { name: 'example-storagecluster-ceph-rbd', selfLink: '/apis/storage.k8s.io/v1/storageclasses/example-storagecluster-ceph-rbd', uid: '96797a5d-8608-40fd-a6ac-4a4fdf474dae', resourceVersion: '32796', creationTimestamp: '2019-11-08T08:38:15Z', ownerReferences: [ { apiVersion: 'ocs.openshift.io/v1', kind: 'StorageCluster', name: 'example-storagecluster', uid: '17c2b0e9-e1a2-4f1c-b2eb-14e885dc3e92', controller: true, blockOwnerDeletion: true } ] }, provisioner: 'openshift-storage.rbd.csi.ceph.com', parameters: { clusterID: 'openshift-storage', 'csi.storage.k8s.io/fstype': 'ext4', 'csi.storage.k8s.io/node-stage-secret-name': 'rook-csi-rbd-node', 'csi.storage.k8s.io/node-stage-secret-namespace': 'openshift-storage', 'csi.storage.k8s.io/provisioner-secret-name': 'rook-csi-rbd-provisioner', 'csi.storage.k8s.io/provisioner-secret-namespace': 'openshift-storage', imageFeatures: 'layering', imageFormat: '2', pool: 'example-storagecluster-cephblockpool' }, reclaimPolicy: 'Delete', volumeBindingMode: 'Immediate' }, { metadata: { name: 'example-storagecluster-cephfs', selfLink: '/apis/storage.k8s.io/v1/storageclasses/example-storagecluster-cephfs', uid: 'fff93495-dd17-4335-a19e-aa5bdf31a78b', resourceVersion: '32795', creationTimestamp: '2019-11-08T08:38:15Z', ownerReferences: [ { apiVersion: 'ocs.openshift.io/v1', kind: 'StorageCluster', name: 'example-storagecluster', uid: '17c2b0e9-e1a2-4f1c-b2eb-14e885dc3e92', controller: true, blockOwnerDeletion: true } ] }, provisioner: 'openshift-storage.cephfs.csi.ceph.com', parameters: { clusterID: 'openshift-storage', 'csi.storage.k8s.io/node-stage-secret-name': 'rook-csi-cephfs-node', 'csi.storage.k8s.io/node-stage-secret-namespace': 'openshift-storage', 'csi.storage.k8s.io/provisioner-secret-name': 'rook-csi-cephfs-provisioner', 'csi.storage.k8s.io/provisioner-secret-namespace': 'openshift-storage', fsName: 'example-storagecluster-cephfilesystem' }, reclaimPolicy: 'Delete', volumeBindingMode: 'Immediate' }, { metadata: { name: 'gp2', selfLink: '/apis/storage.k8s.io/v1/storageclasses/gp2', uid: 'a1140b0a-173e-4096-a398-5f4d5179bd66', resourceVersion: '16548', creationTimestamp: '2019-11-08T08:01:17Z', annotations: { 'storageclass.kubernetes.io/is-default-class': 'true' }, ownerReferences: [ { apiVersion: 'v1', kind: 'clusteroperator', name: 'storage', uid: 'd7dd2e85-6533-48e9-b797-4682c66f313a' } ] }, provisioner: 'kubernetes.io/aws-ebs', parameters: { encrypted: 'true', type: 'gp2' }, reclaimPolicy: 'Delete', allowVolumeExpansion: true, volumeBindingMode: 'WaitForFirstConsumer' }, { metadata: { name: 'openshift-storage.noobaa.io', selfLink: '/apis/storage.k8s.io/v1/storageclasses/openshift-storage.noobaa.io', uid: '729e8642-7947-40d6-b3c0-2bfd8cd8b2c4', resourceVersion: '36813', creationTimestamp: '2019-11-08T08:43:41Z', ownerReferences: [ { apiVersion: 'noobaa.io/v1alpha1', kind: 'NooBaa', name: 'noobaa', uid: '0eef6770-525b-43ed-a74f-30df335951f8', controller: true } ] }, provisioner: 'openshift-storage.noobaa.io/obc', parameters: { bucketclass: 'noobaa-default-bucket-class' }, reclaimPolicy: 'Delete', volumeBindingMode: 'Immediate' } ] }; var obj = { apiVersion: 'v1', items: [ { apiVersion: 'objectbucket.io/v1alpha1', kind: 'ObjectBucketClaim', metadata: { creationTimestamp: '2019-11-08T10:13:28Z', finalizers: [ 'objectbucket.io/finalizer' ], generation: 2, labels: { app: 'noobaa', 'bucket-provisioner': 'openshift-storage.noobaa.io-obc', 'noobaa-domain': 'openshift-storage.noobaa.io' }, name: 'obc-1', namespace: 'openshift-storage', resourceVersion: '73383', selfLink: '/apis/objectbucket.io/v1alpha1/namespaces/openshift-storage/objectbucketclaims/obc-1', uid: '5d5e9ef9-e9d2-44c4-bc97-28309185fda1' }, spec: { ObjectBucketName: 'obc-openshift-storage-obc-1', bucketName: 'obc-1-adcfc5d2-81fe-4550-a43c-d089236532ad', generateBucketName: 'obc-1', storageClassName: 'openshift-storage.noobaa.io' }, status: { phase: 'Bound' } }, { apiVersion: 'objectbucket.io/v1alpha1', kind: 'ObjectBucketClaim', metadata: { creationTimestamp: '2019-11-08T10:13:44Z', finalizers: [ 'objectbucket.io/finalizer' ], generation: 2, labels: { app: 'noobaa', 'bucket-provisioner': 'openshift-storage.noobaa.io-obc', 'noobaa-domain': 'openshift-storage.noobaa.io' }, name: 'obc-2', namespace: 'openshift-storage', resourceVersion: '73494', selfLink: '/apis/objectbucket.io/v1alpha1/namespaces/openshift-storage/objectbucketclaims/obc-2', uid: '88145d72-e580-4481-add5-92f505e13207' }, spec: { ObjectBucketName: 'obc-openshift-storage-obc-2', bucketName: 'obc-2-d521f540-4a59-4b8e-8fe5-3a2f50bb5a44', generateBucketName: 'obc-2', storageClassName: 'openshift-storage.noobaa.io' }, status: { phase: 'Bound' } } ], kind: 'List', metadata: { resourceVersion: '', selfLink: '' } }; const getName = (value) => _.get(value, 'metadata.name'); const getNoobaaStorageClass = (storageClassesList) => { const obj = {}; storageClassesList.forEach((sc) => { if (_.endsWith(_.get(sc, 'provisioner'), 'noobaa.io/obc')) { obj[getName(sc)] = getName(sc); } }); return obj; }; const getNoobaaObcs = (obcList, storageClassesList) => { const noobaaStorageClasses = getNoobaaStorageClass(storageClassesList); const result = obcList.filter((o) => { const storageClassName = _.get(o, 'spec.storageClassName'); return !!noobaaStorageClasses[storageClassName]; }); return result.length; }; const test = a => { const b = []; for (i = 0; i < 500; i++) { b.push(...a); } return(b); }; getNoobaaObcs(test(obj.items), test(obj2.items));
mapusage
var obj2 ={ kind: 'StorageClassList', apiVersion: 'storage.k8s.io/v1', metadata: { selfLink: '/apis/storage.k8s.io/v1/storageclasses', resourceVersion: '96731' }, items: [ { metadata: { name: 'example-storagecluster-ceph-rbd', selfLink: '/apis/storage.k8s.io/v1/storageclasses/example-storagecluster-ceph-rbd', uid: '96797a5d-8608-40fd-a6ac-4a4fdf474dae', resourceVersion: '32796', creationTimestamp: '2019-11-08T08:38:15Z', ownerReferences: [ { apiVersion: 'ocs.openshift.io/v1', kind: 'StorageCluster', name: 'example-storagecluster', uid: '17c2b0e9-e1a2-4f1c-b2eb-14e885dc3e92', controller: true, blockOwnerDeletion: true } ] }, provisioner: 'openshift-storage.rbd.csi.ceph.com', parameters: { clusterID: 'openshift-storage', 'csi.storage.k8s.io/fstype': 'ext4', 'csi.storage.k8s.io/node-stage-secret-name': 'rook-csi-rbd-node', 'csi.storage.k8s.io/node-stage-secret-namespace': 'openshift-storage', 'csi.storage.k8s.io/provisioner-secret-name': 'rook-csi-rbd-provisioner', 'csi.storage.k8s.io/provisioner-secret-namespace': 'openshift-storage', imageFeatures: 'layering', imageFormat: '2', pool: 'example-storagecluster-cephblockpool' }, reclaimPolicy: 'Delete', volumeBindingMode: 'Immediate' }, { metadata: { name: 'example-storagecluster-cephfs', selfLink: '/apis/storage.k8s.io/v1/storageclasses/example-storagecluster-cephfs', uid: 'fff93495-dd17-4335-a19e-aa5bdf31a78b', resourceVersion: '32795', creationTimestamp: '2019-11-08T08:38:15Z', ownerReferences: [ { apiVersion: 'ocs.openshift.io/v1', kind: 'StorageCluster', name: 'example-storagecluster', uid: '17c2b0e9-e1a2-4f1c-b2eb-14e885dc3e92', controller: true, blockOwnerDeletion: true } ] }, provisioner: 'openshift-storage.cephfs.csi.ceph.com', parameters: { clusterID: 'openshift-storage', 'csi.storage.k8s.io/node-stage-secret-name': 'rook-csi-cephfs-node', 'csi.storage.k8s.io/node-stage-secret-namespace': 'openshift-storage', 'csi.storage.k8s.io/provisioner-secret-name': 'rook-csi-cephfs-provisioner', 'csi.storage.k8s.io/provisioner-secret-namespace': 'openshift-storage', fsName: 'example-storagecluster-cephfilesystem' }, reclaimPolicy: 'Delete', volumeBindingMode: 'Immediate' }, { metadata: { name: 'gp2', selfLink: '/apis/storage.k8s.io/v1/storageclasses/gp2', uid: 'a1140b0a-173e-4096-a398-5f4d5179bd66', resourceVersion: '16548', creationTimestamp: '2019-11-08T08:01:17Z', annotations: { 'storageclass.kubernetes.io/is-default-class': 'true' }, ownerReferences: [ { apiVersion: 'v1', kind: 'clusteroperator', name: 'storage', uid: 'd7dd2e85-6533-48e9-b797-4682c66f313a' } ] }, provisioner: 'kubernetes.io/aws-ebs', parameters: { encrypted: 'true', type: 'gp2' }, reclaimPolicy: 'Delete', allowVolumeExpansion: true, volumeBindingMode: 'WaitForFirstConsumer' }, { metadata: { name: 'openshift-storage.noobaa.io', selfLink: '/apis/storage.k8s.io/v1/storageclasses/openshift-storage.noobaa.io', uid: '729e8642-7947-40d6-b3c0-2bfd8cd8b2c4', resourceVersion: '36813', creationTimestamp: '2019-11-08T08:43:41Z', ownerReferences: [ { apiVersion: 'noobaa.io/v1alpha1', kind: 'NooBaa', name: 'noobaa', uid: '0eef6770-525b-43ed-a74f-30df335951f8', controller: true } ] }, provisioner: 'openshift-storage.noobaa.io/obc', parameters: { bucketclass: 'noobaa-default-bucket-class' }, reclaimPolicy: 'Delete', volumeBindingMode: 'Immediate' } ] }; var obj = { apiVersion: 'v1', items: [ { apiVersion: 'objectbucket.io/v1alpha1', kind: 'ObjectBucketClaim', metadata: { creationTimestamp: '2019-11-08T10:13:28Z', finalizers: [ 'objectbucket.io/finalizer' ], generation: 2, labels: { app: 'noobaa', 'bucket-provisioner': 'openshift-storage.noobaa.io-obc', 'noobaa-domain': 'openshift-storage.noobaa.io' }, name: 'obc-1', namespace: 'openshift-storage', resourceVersion: '73383', selfLink: '/apis/objectbucket.io/v1alpha1/namespaces/openshift-storage/objectbucketclaims/obc-1', uid: '5d5e9ef9-e9d2-44c4-bc97-28309185fda1' }, spec: { ObjectBucketName: 'obc-openshift-storage-obc-1', bucketName: 'obc-1-adcfc5d2-81fe-4550-a43c-d089236532ad', generateBucketName: 'obc-1', storageClassName: 'openshift-storage.noobaa.io' }, status: { phase: 'Bound' } }, { apiVersion: 'objectbucket.io/v1alpha1', kind: 'ObjectBucketClaim', metadata: { creationTimestamp: '2019-11-08T10:13:44Z', finalizers: [ 'objectbucket.io/finalizer' ], generation: 2, labels: { app: 'noobaa', 'bucket-provisioner': 'openshift-storage.noobaa.io-obc', 'noobaa-domain': 'openshift-storage.noobaa.io' }, name: 'obc-2', namespace: 'openshift-storage', resourceVersion: '73494', selfLink: '/apis/objectbucket.io/v1alpha1/namespaces/openshift-storage/objectbucketclaims/obc-2', uid: '88145d72-e580-4481-add5-92f505e13207' }, spec: { ObjectBucketName: 'obc-openshift-storage-obc-2', bucketName: 'obc-2-d521f540-4a59-4b8e-8fe5-3a2f50bb5a44', generateBucketName: 'obc-2', storageClassName: 'openshift-storage.noobaa.io' }, status: { phase: 'Bound' } } ], kind: 'List', metadata: { resourceVersion: '', selfLink: '' } }; const getName = (value) => _.get(value, 'metadata.name'); const getNoobaaStorageClass = (storageClassesList) => { const storageClasMap = new Map(null); storageClassesList.forEach((sc) => { if (_.endsWith(_.get(sc, 'provisioner'), 'noobaa.io/obc')) { const name = getName(sc); storageClasMap.set(name, name); } }); return storageClasMap; }; const getNoobaaObcs = (obcList, storageClassesList) => { const noobaaStorageClasses = getNoobaaStorageClass(storageClassesList); const result = obcList.filter((o) => { const storageClassName = _.get(o, 'spec.storageClassName'); return noobaaStorageClasses.has(storageClassName); }); return result.length; }; const test = a => { const b = []; for (i = 0; i < 500; i++) { b.push(...a); } return(b); }; getNoobaaObcs(test(obj.items), test(obj2.items));
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
obusage
mapusage
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Autogenerated LLM Summary
(model
llama3.2:3b
, generated one year ago):
It looks like you're sharing some JSON data and benchmark results from a performance test. Can you please provide more context or information about what these data represent? Are they related to testing the performance of a JavaScript function, specifically the `getNoobaaObcs` function? If so, I'd be happy to help analyze the data or provide insights on how to optimize the code. However, without further context, it's difficult for me to determine the relevance of this information. Please feel free to add any relevant details or clarify your question, and I'll do my best to assist you!
Related benchmarks:
Loop over object: lodash vs Object.entries 2
lodash vs for-of vs forEach vs map
lodash vs for-of vs forEach vs map v2
lodash mapValues vs vanilla Object.keys foreach vs lodash reduce
test map lodash vs array
Comments
Confirm delete:
Do you really want to delete benchmark?