Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
js-map/obj-3
(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) => { return storageClassesList.filter((sc) => _.endsWith(_.get(sc, 'provisioner'), 'noobaa.io/obc')); }; const getNoobaaObcs = (obcList, storageClassesList) => { const noobaaStorageClasses = getNoobaaStorageClass(storageClassesList); const result = obcList.filter((o) => { const storageClassName = _.get(o, 'spec.storageClassName'); return noobaaStorageClasses.some((sc) => sc.metadata.name === 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):
A long JSON string! It appears to be a benchmarking result from a tool called `ob-benchmark`. The data is in the format of a list of objects, each containing information about a benchmark execution. Here's my attempt to break down the key points: **Top-level object** * `kind`: "List" * `metadata`: an object with two properties: + `resourceVersion`: an empty string + `selfLink`: an empty string **Inner list of objects** The inner list contains multiple benchmark execution results, each represented as a separate object. These objects have the following structure: * `apiVersion` and `kind`: "ObjectBucketClaim" * `metadata`: + `creationTimestamp` + `finalizers` + `generation` + `labels` + `name` + `namespace` + `resourceVersion` + `selfLink` + `uid` * `spec`: an object with the following properties: + `ObjectBucketName` + `bucketName` + `generateBucketName` + `storageClassName` **Other objects** There are also two other objects in the list, which appear to be configuration objects: * One with a key called "Test Name" and value "mapusage" * One with a key called "Test Name" and value "obusage" Please let me know if you'd like me to clarify any specific points or if there's anything else I can help with!
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
test123_123
Comments
Confirm delete:
Do you really want to delete benchmark?