del で変数削除して高速化?実際変わんの?

2021年8月24日火曜日

Python

t f B! P L

今回の内容

Pythonではdelというのをもっていますが、それを使用すると、
メモリの使用量がなくなって早くなるという話をきいたことがありましたがそれは本体なのかな?
って思ったのでけんしょうしてみます。

ごく普通の変数を削除してやってみたいと思います。

コード

import sys
import time

class After():
	def __init__(self):
		ti = time.time()
		lis = list()
		lis1 = list()
		lis2 = list()
		lis3 = list()
		abc = "abcdefghijk"
		abc1 = "abcdefghijk"
		abc2 = "abcdefghijk"
		abc3 = "abcdefghijk"
		for i in range(50000):
			lis.append(abc)
			lis1.append(abc1)
			lis2.append(abc2)
			lis3.append(abc3)
		del abc
		del abc1
		del abc2
		del abc3
		del lis
		del lis1
		del lis2
		del lis3
		deff = "abcdefghijk"
		deff1 = "abcdefghijk"
		deff2 = "abcdefghijk"
		ist = list()
		ist1 = list()
		ist2 = list()
		for i in range(500000):
			ist.append(deff)
			ist1.append(deff1)
			ist2.append(deff2)
		print(time.time() - ti)

class Before():
	def __init__(self):
		ti = time.time()
		lis = list()
		lis1 = list()
		lis2 = list()
		lis3 = list()
		abc = "abcdefghijk"
		abc1 = "abcdefghijk"
		abc2 = "abcdefghijk"
		abc3 = "abcdefghijk"
		for i in range(50000):
			lis.append(abc)
			lis1.append(abc1)
			lis2.append(abc2)
			lis3.append(abc3)
		deff = "abcdefghijk"
		deff1 = "abcdefghijk"
		deff2 = "abcdefghijk"
		ist = list()
		ist1 = list()
		ist2 = list()
		for i in range(500000):
			ist.append(deff)
			ist1.append(deff1)
			ist2.append(deff2)
		print(time.time() - ti)

After()
Before()
どこからど~みてもdelが無意味そうなコードである。

結果。

はい変わりませんでした。

このブログを検索

要望について

ブログのレイアウトやテーマについての提案をいただきました。現在qooqテーマを適応中です。 語尾を自動でつけるプログラムを作りたいという要望をいただきました。是非紹介したいですがどの言語でどのようなプログラムかなど、お問い合わせフォームで詳しく教えてください!

最近の出来事

最近の出来事
寿司打お勧め75位♪(練習モードだけど)

アンケート

Welcome!

「プログラミング独学ブログ」へようこそ。 Yakinyといいます。幅広い範囲で投稿していますので、ぜひ過去の記事も見てみてください!!コメントも大歓迎です!更新がとまってしまって申し訳ございません

お問い合わせ

名前

メール *

メッセージ *

QooQ