fromjs vs map.mergeDeep (v2)

Revision 2 of this benchmark created on


Preparation HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.8.2/immutable.min.js" />

<script>


</script>

Setup

const cdto_twitter_mention_with_convo = {
	meta: {},
	dto: {
		status: 1,
		guid: 'twitter_mention_with_convo',
		task: {},
		from_profile: {
			description: '',
			following_count: 21,
			custom_influence_name: null,
			followed_by: [],
			actions: {
				follow: {
					url: 'api/networks/twitter/{{network_id}}/profile/2192584626/follow/',
					networks: [
						2794027, 3174059, 2793992, 2794044, 3124395, 2794028, 2794029, 2794030, 2794032, 2794033, 2794034, 2794035,
						2794002,
					],
				},
				unfollow: {
					url: 'api/networks/twitter/{{network_id}}/profile/2192584626/unfollow/',
					networks: [],
				},
				create_enhanced_task: {
					url: 'api/groups/825147/enhanced_tasks/create/from/profile/2192584626/',
				},
				report_spam: {
					url: 'api/networks/twitter/{{network_id}}/profile/2192584626/report-spam/',
					networks: [
						2794027, 3174059, 2793992, 2794034, 3124395, 2794028, 2794029, 2794030, 2794032, 2794033, 2794002, 2794035,
						2794044,
					],
					network_ids: [
						2794027, 3174059, 2793992, 2794034, 3124395, 2794028, 2794029, 2794030, 2794032, 2794033, 2794002, 2794035,
						2794044,
					],
				},
			},
			follower_count: 51,
			id: 2192584626,
			guid: 't:2192584626',
			screen_name: 'anna_smith_1',
			task: {},
			name: 'Anna Smith',
			img: '//pbs.twimg.com/profile_images/872534284430594048/B0Y2FRki_normal.jpg',
			influential: false,
			vip_lists: {},
			public_profiles: {
				www_display_text: null,
				www: null,
			},
			entities: {
				description: {
					urls: [],
				},
			},
			is_protected: null,
			id_str: '2192584626',
			following: [],
			is_verified: false,
			influence_level: 0,
			location: '',
		},
		network: 'twitter',
		sent_by_team_member: {},
		tags: [],
		network_id: 2794029,
		saved: false,
		actions: {
			report_spam: {
				url: 'api/networks/twitter/{{network_id}}/profile/2192584626/message/t:1115681391293820929/report-spam/',
				networks: [
					2794030, 3174059, 2794029, 2794033, 2794028, 3124395, 2794027, 2794002, 2794032, 2794044, 2794035, 2794034,
					2793992,
				],
			},
			view_conversation: {
				url: 'api/messages/2794029/messages/1115681391293820929/conversation/',
			},
			complete: {
				url: 'api/groups/825147/network/2794029/message/t:1115681391293820929/complete/',
			},
			unlike: {
				url: 'api/networks/twitter/{{network_id}}/unlike/t:1115681391293820929/',
				networks: [
					2794030, 3174059, 2794029, 2794033, 2794028, 3124395, 2794027, 2794002, 2794032, 2794044, 2794035, 2794034,
					2793992,
				],
			},
			related_messages: {
				url: 'api/messages/2794029/messages/1115681391293820929/conversation/',
			},
			uncomplete: {
				url: 'api/groups/825147/network/2794029/message/t:1115681391293820929/uncomplete/',
			},
			favorite: {
				url: 'api/networks/twitter/{{network_id}}/favorite/t:1115681391293820929/',
				networks: [
					2794030, 3174059, 2794029, 2794033, 2794028, 3124395, 2794027, 2794002, 2794032, 2794044, 2794035, 2794034,
					2793992,
				],
			},
			sent_detail: {
				url: 'api/messages/2794029/messages/sent/1115681391293820929/detail/',
			},
			tag: {
				url: 'api/groups/825147/network/2794029/message/t:1115681391293820929/tag/',
			},
			suggested_replies: {
				url: 'api/customer_profiles/{{cp_id}}/messages/t:1115681391293820929/suggestions/replies/',
				cp_ids: [
					1717251, 2323311, 1169126, 956863, 1310740, 2283648, 1717236, 1310727, 1286832, 1310729, 1160281, 1387157,
					919690,
				],
			},
			create_enhanced_task: {
				url: 'api/groups/825147/enhanced_tasks/create/from/guid/2794029/t:1115681391293820929/',
			},
			reply: {
				url: 'api/messages/twitter/1115681391293820929/tweet/reply/{{network_id}}/',
				networks: [
					2794030, 3174059, 2794029, 2794033, 2794028, 3124395, 2794027, 2794002, 2794032, 2794044, 2794035, 2794034,
					2793992,
				],
			},
			save_message: {
				url: 'api/groups/825147/networks/2794029/messages/t:1115681391293820929/save/',
			},
			retweet: {
				url: 'api/messages/twitter/1115681391293820929/retweet/{{network_id}}/',
				networks: [
					2794027, 3174059, 2793992, 2794034, 3124395, 2794028, 2794029, 2794030, 2794032, 2794033, 2794002, 2794035,
					2794044,
				],
			},
			untag: {
				url: 'api/groups/825147/network/2794029/message/t:1115681391293820929/untag/',
			},
		},
		sentiment: null,
		likes: {},
		_pk: 90015,
		date: 1554834146,
		has_reply: true,
		entities: [
			{
				indices: [0, 15],
				id_str: 't:1601235684',
				screen_name: 'sharon_smith_1',
				id: 1601235684,
				name: 'Sharon Smith',
			},
		],
		text: '@sharon_smith_1 test',
		tweet_id: '1115681391293820929',
		extended_entities: null,
		display_text_range: [16, 20],
		in_reply_to: '1112763749377757184',
		in_reply_to_user: {
			description: '',
			following_count: 60,
			custom_influence_name: 'Da #1 Chill Bros',
			followed_by: [],
			actions: {
				follow: {
					url: 'api/networks/twitter/{{network_id}}/profile/1601235684/follow/',
					networks: [
						2794027, 3174059, 2793992, 2794044, 3124395, 2794028, 2794030, 2794032, 2794033, 2794034, 2794035, 2794002,
					],
				},
				unfollow: {
					url: 'api/networks/twitter/{{network_id}}/profile/1601235684/unfollow/',
					networks: [],
				},
				create_enhanced_task: {
					url: 'api/groups/825147/enhanced_tasks/create/from/profile/1601235684/',
				},
				report_spam: {
					url: 'api/networks/twitter/{{network_id}}/profile/1601235684/report-spam/',
					networks: [
						2794027, 3174059, 2793992, 2794034, 3124395, 2794028, 2794030, 2794032, 2794033, 2794002, 2794035, 2794044,
					],
					network_ids: [
						2794027, 3174059, 2793992, 2794034, 3124395, 2794028, 2794030, 2794032, 2794033, 2794002, 2794035, 2794044,
					],
				},
			},
			follower_count: 105,
			id: 1601235684,
			guid: 't:1601235684',
			task: {},
			name: 'Sharon Smith',
			img: '//pbs.twimg.com/profile_images/872534496024723456/RZ3HDJdS_normal.jpg',
			influential: false,
			vip_lists: {
				'13': {
					name: 'Da #1 Chill Bros',
				},
			},
			public_profiles: {
				www_display_text: null,
				www: null,
			},
			entities: {
				description: {
					urls: [],
				},
			},
			is_protected: null,
			id_str: '1601235684',
			following: [],
			is_verified: false,
			influence_level: 0,
			location: '',
		},
		social_message: null,
		type: 'mention',
		id: '1115681391293820929',
		sent: false,
		completer: {},
	},
};

window.fromJsExample = () => {
	const thing = Immutable.fromJS(cdto_twitter_mention_with_convo)
};

window.mapExample = () => {
	const thing = Immutable.Map().mergeDeep(cdto_twitter_mention_with_convo);
};

Test runner

Ready to run.

Testing in
TestOps/sec
fromJS
window.fromJsExample();
ready
map
window.mapExample();
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.