json.loads和eval 速度对比

json.loads和eval 速度对比

  • 代码1
  • 结果图
  • 代码2
  • 参考地址

代码1

import json
import time
import pandas as pddata_sets = pd.read_pickle("val_token_id.pandas_pickle")
data_sets=[str(i) for i in data_sets]
start=time.time()
[json.loads(i) for i in data_sets]
print(time.time()-start)start=time.time()
[eval(i) for i in data_sets]
print(time.time()-start)

结果图

在这里插入图片描述

代码2

import json
import time
from multiprocessing import Process, Manager, freeze_support
import pandas as pd
from tqdm import tqdm
def json_loads_data(return_list,one_data):return_list+=[json.loads(i)  for i in tqdm(one_data)]if __name__ == '__main__':freeze_support()data_sets = pd.read_pickle("val_token_id.pandas_pickle")data_sets = [str(i) for i in data_sets]start = time.time()data = Manager().list()num = 5p_list = []for i in range(0, len(data_sets), len(data_sets)//num):j = i + len(data_sets)//nump = Process(target=json_loads_data, args=(data, data_sets[i:j]))p.start()p_list.append(p)for p in p_list:p.join()print("multi_json_loads", time.time() - start)start = time.time()[json.loads(i) for i in data_sets]print("json_loads", time.time() - start)start = time.time()pd.DataFrame(data_sets)[0].apply(lambda x: json.loads(x)).values.tolist()print("dataFrame_apply", time.time() - start)start = time.time()json.loads(str(data_sets).replace("'", ""))print("json_loads_str", time.time() - start)start = time.time()[eval(i) for i in data_sets]print("eval", time.time() - start)

参考地址

https://blog.csdn.net/qq_35869630/article/details/105919104
Python 在大数据处理下的优化(一)用json.loads比eval快10倍!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/266788.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sudo -i 和 sudo -s

一、sudo xxx 以root权限执行单条命令 二、sudo -i 进入一个持续的root环境,以root权限执行命令,但并不是切换到root用户 三、sudo -s 也是进入一个持续的root环境,以root权限执行命令,和sudo -i的区别是保存了原来普通用…

Docker创建镜像的方式---Dockerfile

Dockerfile可以创建自定义镜像。包括配置文件,挂载点,对外暴露的端口,设置环境变量。 Docker创建镜像的方式 1、 基于已有镜像创建:根据官方提供的镜像源,创建镜像。然后拉起容器。是一个白板智能提供基础的功能&…

RPG:一种面向Rust库的模糊测试目标自动生成技术(ICSE‘24)

- 这是我们在ICSE’24的论文RPG: Rust Library Fuzzing with Pool-based Fuzz TargetGeneration and Generic Support [1] 的科普版本。- 插播一条广告:西安电子科技大学广州研究院 ICTT(GZ) 实验室长期接收硕士、博士、博士后、教师岗位申请,欢迎勤奋、…

Linux:Oracle19c安装创建仓库

环境介绍 操作系统:centos7.9 使用yum:公网yum源 内核版本:3.10.0-1160.el7.x86_64 运行内存:4G swap交换内存:8G ssh软件: 软件包:LINUX.X64_193000_db_home.zip 下载链接: 适用于…

鸿蒙生态千帆起:从者众,行则远

“轻舟已过万重山”,鸿蒙的成长速度惊人,一定程度上打破了iOS和安卓二分天下的格局。短短四年时间,搭载华为鸿蒙系统的生态设备数已经突破7亿,开发者突破220万。据Counterpoint数据显示,华为HarmonyOS系统在中国的市场…

IoTDB JavaAPI

文章目录 使用样例Java使用样例 官方已经给出了相关使用Demo,下载地址为: https://github.com/apache/iotdb 直接拉取相对应版本的源码 使用样例 Java使用样例 代码位置 iotdb/example/session/src/main/java/org/apache/iotdb/SessionExample.java iotdb/exa…

HyperGCN笔记

1 Title HyperGCN: A New Method of Training Graph Convolutional Networks on Hypergraphs(Naganand Yadati、Prateek Yadav、Anand Louis、Madhav Nimishakavi、Vikram Nitin、Partha Talukdar)【NeurIPS 2019】 2 Conclision This paper proposes H…

爬虫解析——Xpath的安装及使用(五)

目录 一、Xpath插件的安装 二、安装 lxml 三、Xpath解析文件 1.解析本地文件 (1)导入本地文件 (2)解析本地文件 2.服务器文件解析 (1)获取网页源码 (2)解析服务器响应文件 …

SQL进阶 | 自连接

概述 SQL的自连接是指在一个SQL表中,使用自身表格中的实例进行联接并查询的操作。自连接通常使用别名来标识一个表格,在自连接中,表格被视为两个不同的表格,并分别用不同的别名来标识。然后,在WHERE子句中使用这些别名…

【c】数组元素移动

本题的难点之处就是不让你创建新的数组&#xff0c;而且移动的距离也没有给限制&#xff0c;比如有7个数&#xff0c;本题没有限制必须移动距离小于7&#xff0c;也可能移动的距离大于7&#xff0c;甚至更多&#xff0c;下面附上我的代码 #include<stdio.h>int main() {…

ERA5逐时、逐日、逐月气象数据的手动下载与Python代码批量下载方法

本文介绍在ERA5气象数据的官方网站中&#xff0c;手动下载、Python代码自动批量下载逐小时、逐日与逐月的ERA5气象数据各类产品的快捷方法。 ERA5&#xff08;fifth generation ECMWF atmospheric reanalysis of the global climate&#xff09;是由欧洲中期天气预报中心&#…

千帆竞渡,鸿蒙已过万重山

近期&#xff0c;华为宣布其自主研发的鸿蒙Next系统将不再兼容Android系统&#xff0c;而是完全独立运营。 也就是说&#xff0c;你的 Android APK 已经不能在 HarmonyOS NEXT 上运行&#xff0c;因为系统已经不存在 AOSP 代码&#xff0c;甚至没有 JVM。 此举意味着鸿蒙系统…